"),o.close();var d=i.mapValues(c.SandboxedFunctions,(function(e){return n[e]}));u.dispatch(r.SANDBOXED_FUNCTIONS_ADDED,{sandboxedFunctions:d}),t.parentNode.removeChild(t)}catch(e){l.warn("Unable to create a sandbox: ",e)}}}),(function(e,t,n){var i=n(2),r=n(23),a=n(94),o=n(16),s=o.get("stores/plugins"),c=n(7),u=n(25),l=n(9),d=!1,f=[n(107),n(108),n(128)],p=["clientMetadata","cookieDomain","disable","load","optOut","rum"];t.push=function(e,t){var n,a,o,s;if(!i.isArray(e)&&i.isObject(e))s=i.isUndefined(e.version)?1:e.version,n=e.type,o=[e];else if(i.isArray(e))s=0,n=e[0],o=e.slice(1);else{if(!i.isString(e))return r.warn("API / Ignoring non-array/object/string argument:",e),!1;s=0,n=e,o=[]}if(f[s]&&(a=f[s][n]),t&&p.indexOf(n)===-1)return r.debug("API / Ignoring non high priority function:",n,o),!1;if(!a)return r.warn('API / No function found for "'+n+'" (v'+s+") with arguments:",o),!1;r.log('API / Executing: "'+n,'" with arguments:',o);try{a.apply(null,o),l.dispatch(c.RECORD_API_USAGE,{methodName:s?"v"+s+"."+n:n})}catch(e){r.error(e)}return!0},t.get=function(e){if(d&&"state"!==e)return void r.warn('Module "'+e+'" not found.');r.log('API / Getting module: "'+e+'"');var t=a[e];return t?i.isArray(t)&&(t=o.evaluate(t)):t=s.getPlugin(u.PluginTypes.apiModules,e),t?(l.dispatch(c.RECORD_API_USAGE,{methodName:"get."+e}),t):void r.warn('Module "'+e+'" not found.')}}),(function(e,t,n){function i(e,t,n,i){var r=e.getLayerState(i),a=t.get(i),s=n.get();if(!r||!a)return s?{layer:{name:s.layerName,id:s.layerId,policy:s.layerPolicy,integrationStringVersion:s.integrationStringVersion},experiment:{name:s.experimentName,id:s.experimentId},variation:{name:s.variationName,id:s.variationId},isLayerHoldback:!1}:null;if(l.isSingleExperimentPolicy(a.policy)&&r.decision.isLayerHoldback)return null;var c=r.decision.experimentId,u=r.decision.variationId;if(!c||!u)return null;var d,f;return(d=o.find(a.experiments,{id:c}))?(f=o.find(d.variations,{id:u}),f?{layer:{name:a.name,id:a.id,policy:a.policy,integrationStringVersion:a.integrationStringVersion},experiment:{name:d.name,id:d.id},variation:{name:f.name,id:f.id},isLayerHoldback:r.decision.isLayerHoldback}:null):null}function r(e,t,n,i,r,s){var c=[],u=e.getLayerStates();s.onlySingleExperiments&&(u=o.filter(u,(function(e){var n=t.get(e.layerId);return n&&l.isSingleExperimentPolicy(n.policy)})));var f=o.map(u,(function(e){var t=!!e.decision.variationId,n=e.decisionActivationId&&e.decisionActivationId===i.getActivationId(),r=d.getExperimentAndVariation(),a=r?r.variationId:null,s=t&&e.decision.variationId===a;return o.extend(e,{isActive:t&&n||s,visitorRedirected:s})})),p=r?o.filter(f,r):f;return o.each(p,(function(e){var i=a(e,t,n,s.includeOfferConsistency);i&&c.push(i)})),c}function a(e,t,n,i){var r,a,s=e.layerId,c=t.get(s)||{},u=o.map(c.experiments,(function(e){return o.pick(e,["id","name"])}));if(i||!c.decisionMetadata||!c.decisionMetadata.offerConsistency){var l={id:s,campaignName:c.name||null,experiment:null,allExperiments:u,variation:null,reason:e.decision.reason,isActive:!!e.isActive,visitorRedirected:e.visitorRedirected,isInCampaignHoldback:e.decision.isLayerHoldback};e.decision&&e.decision.experimentId&&(r=o.find(c.experiments,{id:e.decision.experimentId})),r&&(l.experiment=o.pick(r,["id","name","campaignName"])),r&&e.decision.variationId&&(a=o.find(r.variations,{id:e.decision.variationId})),a&&(l.variation=o.pick(a,["id","name"]));var d=o.map(e.decisionTicket.audienceIds,(function(e){return o.pick(n.get(e),["id","name"])}));return l.audiences=d,c.decisionMetadata&&c.decisionMetadata.offerConsistency&&(l.pageId=e.pageId),l}}var o=n(2),s=n(95),c=n(96),u=n(98),l=n(44),d=n(99);t.data=["stores/audience_data","stores/client_metadata","stores/event_data","stores/layer_data","stores/view_data","stores/group_data","stores/interest_group","stores/tag_group","stores/global",function(e,t,n,i,r,a,s,l,d){ var f={},p={},g={},h={audiences:e.getAudiencesMap(),events:n.getEventsMap(),campaigns:f,pages:r.getPagesMap(),experiments:p,variations:g,projectId:d.getProjectId(),snippetId:d.getSnippetId(),accountId:d.getAccountId(),dcpServiceId:d.getDCPServiceId(),revision:d.getRevision(),clientName:t.getClientName(),clientVersion:t.getClientVersion()},_=u.dereferenceChangeId;return o.each(i.getAll(),(function(e){c.defineProperty(f,e.id,(function(){var t=o.extend({},e);return c.defineProperty(t,"changes",(function(){return o.map(e.changes,_)}),"campaign"),c.defineProperty(t,"experiments",(function(){return o.map(e.experiments,(function(e){return p[e.id]}))}),"campaign"),t}),"campaignMap","byId"),o.each(e.experiments,(function(e){c.defineProperty(p,e.id,(function(){var t=o.extend({},e);return c.defineProperty(t,"changes",(function(){return o.map(e.changes,_)}),"experiment"),c.defineProperty(t,"variations",(function(){return o.map(e.variations,(function(e){return g[e.id]}))}),"experiment"),t}),"experimentMap","byId"),o.each(e.variations,(function(e){c.defineProperty(g,e.id,(function(){var t=o.extend({},e);return c.defineProperty(t,"actions",(function(){return o.map(e.actions,(function(e){return o.extend({},e,{changes:o.map(e.changes,_)})}))}),"variation"),t}),"variationMap","byId")}))}))})),h.groups=a.getGroupsMap(),h}],t.session=["stores/session",function(e){return e.getState()}],t.visitor=["stores/visitor",function(e){return o.cloneDeep(e.getVisitorProfile())}],t.visitor_id=["stores/visitor_id",function(e){return{randomId:e.getRandomId()}}],t.state=["stores/audience_data","stores/layer_data","stores/layer","stores/view_data","stores/view","stores/global","stores/observed_redirect",function(e,t,n,a,c,u,f){return{getCampaignStates:function(i){var a={},s=r(n,t,e,u,i,{includeOfferConsistency:!1});return o.each(s,(function(e){a[e.id]=e})),a},getExperimentStates:function(i){var a=r(n,t,e,u,i,{includeOfferConsistency:!1,onlySingleExperiments:!0}),s=["audiences","variation","reason","visitorRedirected","isActive"],c=o.reduce(a,(function(e,t){var n=t.allExperiments[0];return e[n.id]=o.extend({},o.pick(t,s),{id:n.id,experimentName:n.name,isInExperimentHoldback:t.isInCampaignHoldback}),e}),{});return c},getCampaignStateLists:function(i){var a={},s=r(n,t,e,u,i,{includeOfferConsistency:!0});return o.each(s,(function(e){var t=e.id;a[t]||(a[t]=[]),a[t].push(e)})),a},getPageStates:function(e){var t=c.getAll(),n=o.reduce(t,(function(e,t){var n=a.get(t.id);return e[t.id]=o.extend({},o.pick(n,["id","name","apiName","category","staticConditions","tags"]),o.pick(t,["isActive","metadata"])),e[t.id].isActive=!!e[t.id].isActive,e}),{});return e?o.pickBy(n,e):n},isGlobalHoldback:function(){return u.isGlobalHoldback()},getActivationId:function(){return u.getActivationId()},getVariationMap:function(){var e=n.getLayerStates(),i={};return o.each(e,(function(e){var n=t.get(e.layerId);if(e.decision&&e.decision.experimentId&&(i[e.decision.experimentId]={id:e.decision.variationId,name:null,index:null},n)){var r=o.find(n.experiments,{id:e.decision.experimentId});if(r&&e.decision.variationId)var a=o.find(r.variations,{id:e.decision.variationId}),s=o.findIndex(r.variations,{id:e.decision.variationId});a&&(i[e.decision.experimentId]={id:e.decision.variationId,name:a.name,index:s})}})),i},getActiveExperimentIds:function(){var e={};return o.each(this.getCampaignStateLists({isActive:!0}),(function(t){o.each(t,(function(t){e[t.experiment.id]=!0}))})),o.keys(e)},getRedirectInfo:function(){var e=d.getExperimentAndVariation();return e&&(e.referrer=d.getReferrer()),e},getDecisionString:function(e){if(!e)throw new Error("Must pass a config to getDecisionString");e=o.extend({maxLength:255,shouldCleanString:!1},e);var r=i(n,t,f,e.campaignId);return r?s.generateAnalyticsString(r.layer,r.experiment,r.variation,r.isLayerHoldback,e.maxLength,e.shouldCleanString):null},getDecisionObject:function(e){if(!e)throw new Error("Must pass a config to getDecisionObject");e=o.extend({maxLength:255,shouldCleanString:!1},e);var r=i(n,t,f,e.campaignId);if(!r)return null;var a=s.formatNamesAndIdsForAnalytics(r.layer,r.experiment,r.variation,e.shouldCleanString),c=o.mapValues(a.names,(function(t,n){return s.combineAndTruncateIdAndName(t,a.idStrings[n],e.maxLength)})),u={experiment:c.experiment,variation:c.variation};return l.isSingleExperimentPolicy(r.layer.policy)||o.extend(u,{campaign:c.layer,holdback:r.isLayerHoldback}),u}}}],t.utils=n(100).create(),t.jquery=["env/jquery",function(e){return e}],t.event_emitter=n(106)}),(function(e,t,n){function i(e){return e.replace(/[^a-zA-Z0-9\.\~\!\*\(\)\']+/g,"_")}function r(e){return!c.isEmpty(e)&&c.includes(["and","or","not"],e[0])}function a(e,t){var n="";return c.isEmpty(t)?n=d:(n=c.reduce(t,(function(t,n){var r=e.get(n);return r?t+i(r.name?r.name:r.id)+",":t}),""),n=n.slice(0,-1)),n}function o(e,n,i,r,a,o){if(!_.isSingleExperimentPolicy(e.policy)||!r){var s=!_.isSingleExperimentPolicy(e.policy)&&r,u=t.formatNamesAndIdsForAnalytics(e,n,i,o),d=[u.names.experiment,u.names.variation],p=[u.idStrings.experiment,u.idStrings.variation];_.isSingleExperimentPolicy(e.policy)||(d.unshift(u.names.layer),p.unshift(u.idStrings.layer));var g=c.reduce(p,(function(e,t){return e+t.length}),0),h=d.length-1+(s?1:0),v=h*l.length,m=g+v;if(s&&(m+=f.length),m>a)throw new Error("The analytics string size is too low to send the entity IDs.");for(var E=a-m,I=d.length,y=[],S=d.length-1;S>=0;S--){var T=d[S],A=Math.min(T.length,Math.floor(E/I));E-=A,I--,y.unshift(T.substring(0,A))}var R=c.map(y,(function(e,t){return e+p[t]}));return s&&R.push(f),R.join(l)}}function s(e,n,i,r,a,o){var s=r?f:p,u=3*l.length,d=t.formatNamesAndIdsForAnalytics(e,n,i,o),g=d.names,h=d.idStrings,v=c.reduce(h,(function(e,t){return e+t.length}),0);if(v+u+s.length>a)throw new Error("The analytics string size is too low to send the campaign, experiment, and variation IDs.");var m=a-v-u-s.length,E={};E.variation=Math.min(g.variation.length,Math.floor(m/3)),m-=E.variation,E.experiment=Math.min(g.experiment.length,Math.floor(m/2)),m-=E.experiment,E.layer=m;var I={};c.each(g,(function(e,t){I[t]=e.substring(0,E[t])}));var y=[];return _.isSingleExperimentPolicy(e.policy)||y.push(I.layer+h.layer),y=y.concat([I.experiment+h.experiment,I.variation+h.variation,s]),y.join(l)}var c=n(2),u=n(16),l=":",d="everyone_else",f="holdback",p="treatment",g="",h=n(23),_=n(44);t.formatNamesAndIdsForAnalytics=function(e,t,n,o){var s={layer:e.name||g,experiment:t.name||g,variation:n.name||g};if(o&&(s=c.mapValues(s,i)),s.experiment===g&&(!e.integrationStringVersion||1===e.integrationStringVersion))if(r(t.audienceIds))s.experiment="Exp";else{var l=u.get("stores/audience_data");s.experiment=a(l,t.audienceIds)}var d={layer:"("+i(e.id)+")",experiment:"("+i(t.id)+")",variation:"("+i(n.id)+")"};return{names:s,idStrings:d}},t.combineAndTruncateIdAndName=function(e,t,n){var i=n-t.length;if(i<0&&(h.warn("maxLength must be at least long enough to fit the entity ID, which is length"+t.length+". Defaulting to only use entity ID as name."),e=g),e===g)return t;if(e.length>i){var r=Math.min(e.length,i);return e=e.substring(0,r),e+t}return e+" "+t},t.generateAnalyticsString=function(e,t,n,i,r,a){return e.integrationStringVersion&&2===e.integrationStringVersion?o(e,t,n,i,r,a):s(e,t,n,i,r,a)}}),(function(e,t,n){var i=n(97),r=n(7),a=n(9),o=n(23);t.defineProperty=function(e,t,n,s,c){i(e,t,(function(){var e=["prop",s,c||t].join(".");return o.debug('Evaluating getter: "'+e+'"'),a.dispatch(r.RECORD_API_USAGE,{methodName:e}),n()}),!0)}}),(function(e,t){"use strict";function n(e,t,n,i){Object.defineProperty(e,t,{get:function(){var e=n.call(this);return Object.defineProperty(this,t,{value:e,enumerable:!!i,writable:!0}),e},set:function(e){return Object.defineProperty(this,t,{value:e,enumerable:!!i,writable:!0}),e},enumerable:!!i,configurable:!0})}e.exports=n}),(function(e,t,n){function i(e){var n=r.cloneDeep(e);return n.changes&&(n.changes=r.map(n.changes,t.dereferenceChangeId)),n.experiments&&r.each(n.experiments,(function(e){e.changes&&(e.changes=r.map(e.changes,t.dereferenceChangeId)),e.variations&&r.each(e.variations,(function(e){e.actions&&r.each(e.actions,(function(e){e.changes&&(e.changes=r.map(e.changes,t.dereferenceChangeId))}))}))})),n}var r=n(2),a=n(16),o=n(22),s=n(96),c=a.get("stores/change_data");t.translateDecisionToCampaignDecision=function(e){return u(r.cloneDeep(e),{layerId:"campaignId",isLayerHoldback:"isCampaignHoldback"})},t.translateLayerEventToCampaignEvent=function(e){var t={};return s.defineProperty(t,"campaign",(function(){var t=i(e.data.layer);return t}),"campaignEvent"),t.decisionTicket=e.data.decisionTicket,t.decision=this.translateDecisionToCampaignDecision(e.data.decision),t.audiences=e.data.audiences,{type:"lifecycle",name:"campaignDecided",data:t}},t.translateViewActivatedToPageActivated=function(e){return{type:"lifecycle",name:"pageActivated",data:{page:e.data.view}}},t.dereferenceChangeId=function(e){var t=c.getChange(e);return t?o.safeReference(t):e};var u=function(e,t){var n=r.omit(e,r.keys(t));return r.each(t,(function(t,i){n[t]=e[i]})),n}}),(function(e,t,n){var i=n(2),r=n(16),a=r.get("stores/observed_redirect");t.getReferrer=function(){var e=a.get();return e?e.referrer:null},t.getExperimentAndVariation=function(){var e=a.get();return e&&i.isString(e.variationId)?i.pick(e,["experimentId","variationId"]):null}}),(function(e,t,n){var i=n(12).Promise,r=n(101).observeSelector,a=n(102).poll,o=n(104).waitForElement,s=n(105).waitUntil;t.create=function(){return{observeSelector:r,poll:a,Promise:i,waitForElement:o,waitUntil:s}}}),(function(e,t,n){function i(){if(f.shouldObserveChangesIndefinitely()){var e={attributes:!0,childList:!0,subtree:!0,characterData:!0},t=p.getDocumentElement(),n=new MutationObserver(function(){this.disconnect(),l.each(l.keys(m),a),this.observe(t,e)});return function(i){var r=m[i];n.observe(t,e),r.cancelObservation=function(){delete m[i],l.isEmpty(m)&&n.disconnect()}}}return function(e){var t=h.poll(l.partial(a,e));m[e].cancelObservation=function(){t(),delete m[e]}}}function r(e){var t=m[e];t&&t.cancelObservation&&t.cancelObservation()}function a(e){if(m[e]){if(o(m[e]))return 0===m[e].matchedCount&&l.isFunction(m[e].options.onTimeout)&&m[e].options.onTimeout(),void r(e);var t=document.querySelectorAll(m[e].selector);t.length&&(l.each(t,(function(t){t.nn&&t.nn[e]||m[e].callbackQueue.push(t)})),s(e))}}function o(e){var t=e.options.timeout;if(null!==t)if("function"==typeof t)try{return t()}catch(e){}else if(Date.now()-e.startTime>t)return!0;return!1}function s(e){for(;m[e]&&m[e].callbackQueue.length;){var t=m[e].callbackQueue.shift();if(c(t,e),m[e].matchedCount=m[e].matchedCount+1,m[e].callback(t),m[e]&&m[e].options.once)return void r(e)}}function c(e,t){e.nn||(e.nn={}),e.nn[t]=!0}function u(e){try{document.querySelector(e)}catch(e){return!1}return!0}var l=n(2),d=(n(7),n(16)),f=d.get("stores/directive"),p=n(80),g=(n(25),n(9),n(5).generate),h=n(102),_=n(40),v=(d.get("stores/rum"),{once:!1,onTimeout:null,timeout:null}),m={},E=function(e){(E=i())(e)};t.observeSelector=function(e,t,n){if(!u(e))throw new Error("observeSelector expects a valid css selector as its first argument");if(!l.isFunction(t))throw new Error("observeSelector expects a function as its second argument");if(n&&(!l.isObject(n)||l.isFunction(n)))throw new Error("observeSelector expects an object as its third argument");var i=g();return n=l.assign({},v,n||{}),m[i]={callback:t,callbackQueue:[],matchedCount:0,options:n,selector:e,startTime:Date.now()},E(i),_.setTimeout(l.bind(a,null,i),0),l.partial(r,i)}}),(function(e,t,n){function i(e){l[e]&&a.each(l[e].callbacks,(function(e){e.call(null)}))}function r(e,t){l[t]&&l[t].callbacks[e]&&(delete l[t].callbacks[e],a.some(l[t].callbacks)||(clearInterval(l[t].id),delete l[t]))}var a=n(2),o=(n(7),n(16)),s=(n(25),n(9),n(5).generate),c=n(40),u=n(103).DEFAULT_INTERVAL,l=(o.get("stores/rum"),{});t.poll=function(e,t){a.isNumber(t)||(t=u),l[t]||(l[t]={callbacks:{},id:c.setInterval(a.partial(i,t),t)});var n=s();return l[t].callbacks[n]=e,a.partial(r,n,t)},t.cancelAll=function(){a.each(l,(function(e,t){clearInterval(e.id),delete l[t]}))}}),(function(e,t){e.exports={DEFAULT_INTERVAL:20}}),(function(e,t,n){var i=n(12).Promise,r=n(101).observeSelector;t.waitForElement=function(e){return new i(function(t,n){r(e,t,{once:!0})})}}),(function(e,t,n){var i=n(12).Promise,r=n(102).poll;t.waitUntil=function(e){return new i(function(t,n){if(e())return void t();var i=r((function(){e()&&(i(),t())}))})}}),(function(e,t,n){var i=n(87);t.on=function(e){return e.publicOnly=!0,i.on(e)},t.off=i.off,t.emit=function(e){i.emit(e)}}),(function(e,t,n){function i(e){var t,n={};if(e)if(r(e))t=Number(e);else{if("object"!=typeof e)throw new Error("tracker","Revenue argument",e,"not a number.");if(n=a.extend({},e),"revenue"in n){if(!r(n["revenue"]))throw new Error("tracker","Revenue value",n["revenue"],"not a number.");t=Number(n["revenue"]),delete n["revenue"]}}return a.isUndefined(t)||(n.revenue=t),n}function r(e){return a.isNumber(e)||a.isString(e)&&Number(e)==e}var a=n(2),o=n(108);t.activateGeoDelayedExperiments=function(e,t){t||(t=e.lists?"odds":"cdn3"),o.dataFromSource({data:e,source:t})},t.activateSiteCatalyst=function(e){e&&e.sVariable&&o.integrationSettings({id:"adobe_analytics",settings:{sVariableReference:e.sVariable}})},t.bucketUser=t.bucketVisitor=function(e,t){if(e&&t){var n={experimentId:String(e)};t>256?n.variationId=String(t):n.variationIndex=String(t),o.bucketVisitor(n)}},t.disable=function(e){o.disable({scope:e})},t.log=function(e){a.isUndefined(e)&&(e=!0),o.log({level:e?"INFO":"OFF"})},t.optOut=function(e){a.isUndefined(e)&&(e=!0),o.optOut({isOptOut:e})},t.setCookieDomain=function(e){o.cookieDomain({cookieDomain:e})},t.setCookieExpiration=function(e){o.cookieExpiration({cookieExpirationDays:e})},t.setDimensionValue=function(e,t){var n={};n[e]=t,o.user({attributes:n})},t.setUserId=function(e){o.user({userId:e})},t.storeThirdPartyData=function(e,t){o.dataFromSource({source:e,data:t})},t.trackEvent=function(e,t){o.event({eventName:e,tags:i(t)})}}),(function(e,t,n){function i(e){var t;return e.eventId&&(t=I.create(e.eventId,e.eventName,"custom")),D.updateAllViewTags(),function(){var n=p.trackCustomEvent(e.eventName,e.tags,t);n?R.log("API / Tracking custom event:",e.eventName,e.tags):R.log("API / Not tracking custom event:",e.eventName)}}function r(e){var t;return e.eventData&&(t=I.create(e.eventData.id,e.eventData.apiName,"click",e.eventData)),function(){var e=p.trackClickEvent(t);e?R.log("API / Tracking click event:",e):R.log("API / Not tracking click event:",e)}}function a(e){var t=e.eventData,n=A.createLayerState(t.layerId,t.experimentId,t.variationId,t.isLayerHoldback),i=A.createSingle(t.layerId,t.experimentId,t.variationId);return function(){A.recordLayerDecision(n.layerId,n.decisionTicket,n.decision),R.log("API / Tracking decision event:",n),p.trackDecisionEvent(n.decision,n.decisionTicket,i)}}function o(e){var t=D.create(e.eventData.id,e.eventData.apiName),n=D.createState(t.id);return function(){var e=p.trackViewActivation(t,n);e?R.log("API / Tracking pageview event:",e):R.log("API / Not tracking pageview event:",e)}}var s=n(2),c=n(7),u=n(93),l=n(94),d=n(109),f=n(25),p=n(110),g=n(117),h=n(6),_=n(76).create,v=n(24),m=n(118),E=n(120),I=n(121),y=n(87),S=n(9),T=n(26),A=n(113),R=n(23),w=n(122),b=n(114),D=n(123),O=n(74),C=n(16),N=C.get("stores/dimension_data"),P=C.get("stores/view"),L=C.get("stores/view_data"),V=C.get("stores/visitor_id"),k=C.get("stores/layer_data"),x=C.get("stores/directive"),F=!1,M=!1,U=F||M,G=86400,B=90,z=t.ApiListenerError=_("ApiListenerError");t.event=function(e){var t;switch(e.eventType){case"click":t=r(e);break;case"decision":t=a(e);break;case"pageview":t=o(e);break;case"custom":default:t=i(e)}V.getBucketingId()?t():S.dispatch(c.ADD_CLEANUP_FN,{lifecycle:f.Lifecycle.postActivate,cleanupFn:t})},t.clientMetadata=function(e){U&&(S.dispatch(c.SET_CLIENT_NAME,e.clientName),S.dispatch(c.SET_CLIENT_VERSION,e.clientVersion)),F&&e.forceVariationIds&&S.dispatch(c.LOAD_DIRECTIVE,{forceVariationIds:e.forceVariationIds})},t.priorRedirectString=function(e){U&&b.load(e.value)},t.microsnippetError=function(e){if(U){var t=e.errorData.metadata&&e.errorData.metadata.err||{};t.name=e.errorData.code;var n={engine:e.engine,msVersion:e.errorData.msVersion,requestId:e.errorData.requestId,projectId:e.errorData.projectId,snippetKey:e.errorData.snippetKey,args:e.errorData.args};E.handleError(t,n)}},t.rum=function(e){S.dispatch(c.SET_RUM_DATA,e.eventData)},t.initialViewStates=function(e){var t=s.map(e.states,(function(e,t){return{id:t,isActive:e}}));D.registerViews(t)},t.page=function(e){var t=L.getByApiName(e.pageName);if(!t)throw new Error('Unknown page "'+e.pageName+'"');var n=!e.hasOwnProperty("isActive")||e.isActive,i=function(){n?D.activateViaAPI(t,e.tags):(D.deactivate(t),R.log("API / Deactivated Page",D.description(t)))};V.getBucketingId()?i():S.dispatch(c.ADD_CLEANUP_FN,{lifecycle:f.Lifecycle.postViewsActivated,cleanupFn:i})},t.tags=function(e){D.setGlobalTags(e.tags)},t.user=function(e){U&&e.visitorId&&(V.getBucketingId()?(R.log("API / Setting visitor Id:",e.visitorId),O.setId({randomId:e.visitorId})):(R.log("API / Setting visitor Id for activation:",e.visitorId),S.dispatch(c.SET_VISITOR_ID_VIA_API,e.visitorId))),F&&s.each(["IP","location","queryParams","url"],(function(t){e[t]&&(R.log("API / Setting",t,":",e[t]),j(t,e[t],!1))})),R.log("API / Setting visitor custom attributes:",e.attributes),s.each(e.attributes,(function(e,t){var n,i,r=t,a=N.getById(t)||N.getByApiName(t);a&&(r=a.id,n=a.apiName,i=a.segmentId||a.id);var o={id:i,value:e};n&&(o.name=n),j(r,o,!0)}))};var j=function(e,t,n){var i=[{key:n?["custom",e]:[e],value:t,metadata:{lastModified:v.now()}}],r=function(){S.dispatch(c.SET_VISITOR_ATTRIBUTES,{attributes:i})};V.getBucketingId()?r():S.dispatch(c.ADD_CLEANUP_FN,{lifecycle:f.Lifecycle.postVisitorProfileLoad,cleanupFn:r})};t.optOut=function(e){var t=!e.hasOwnProperty("isOptOut")||e.isOptOut;m.setOptOut(t)},t.cookieExpiration=function(e){var t=e.cookieExpirationDays;t');var s=i.querySelector("#"+o);if(!s)throw new Error("Document.write failed to append script");s.onload=n,s.onerror=function(i){r.warn("Failed to load script ("+e+") synchronously:",i),t.addScriptAsync(e,n)}}catch(i){r.debug("Document.write failed for "+e+": "+i.message);var c=function(e){var t=new Function(e.responseText);t(),n&&n()};return a.request({url:e,async:!1,contentType:"text/plain",success:c})["catch"]((function(i){r.error("Failed to load "+e+" via synchronous XHR: "+i.message),t.addScriptAsync(e,n)}))}}}),(function(e,t,n){function i(){var e=null;b.isNumber(e)&&0===ve.getCount()?($.log("Activating after delay of",e,"ms because no Experiments are running"),q.dispatch(P.SET_RUM_DATA,{data:{activateDfd:!0}}),ue.setTimeout(V.emitActivateEvent,e)):V.emitActivateEvent()}function r(e){Oe.handleError(e.data.error,e.data.metadata)}function a(){b.isArray(window.optimizely)&&(window.optimizely=b.filter(window.optimizely,(function(e){var t=!0;return!De.push(e,t)})))}function o(){var e=n(85),i=!!ce.getCurrentId(),r=!!i&&ce.hasSomeData();i?r?$.log("xd / Existing visitor; has data on this origin"):$.log("xd / Existing visitor; new to this origin"):$.log("xd / New visitor");var a=he.getAccountId(),o="https://a125375509.cdn.optimizely.com".replace("__SUBDOMAIN__","a"+a+"."),c="/client_storage/a"+a+".html";e.subscribe((function(e,t){ce.checkKeyForVisitorId(e)&&Q.setItem(e,t)}));var u=e.fetchAll().then((function(t){if(Re.getVisitorIdLocator())ce.removeVisitorId();else{var n=be.getCanonicalOrigins();if(n){var i=e.getXDomainUserId(t,n);i&&($.log("Syncing cross-origin visitor randomId:",i),ce.maybePersistVisitorId({randomId:i}))}}return ce.deleteOldForeignData(),t})).then(t.persistItemsWithId).then((function(e){if(ce.loadForeignData(),i&&!r){var t=!b.isEmpty(e);$.debug("xd / Loaded foreign data? ",t),s(t)}$.log("Loaded visitor data from foreign origins"),V.emitOriginsSyncedEvent()}),(function(e){throw i&&!r&&($.debug("xd / Failed to load foreign data:",e),s(!1,e)),e}));return ne.all([e.load(o,c)["catch"]((function(e){throw $.debug("xd / Failed to load iframe:",e),i&&!r&&s(!1,e),e})),u["catch"]((function(e){$.debug("xd / Ignored error syncing foreign data (expected if waitForOriginSync used):",e.message),$.debug("xd / Enqueuing sync to happen after visitorId set."),q.dispatch(P.ADD_CLEANUP_FN,{lifecycle:j.Lifecycle.postVisitorProfileLoad,cleanupFn:V.emitOriginsSyncedEvent})}))])}function s(e,t){q.dispatch(P.SET_RUM_DATA,{data:{extras:{xdAttempt:e,xdError:t?t.toString():void 0}}})}function c(e){var t=Se.getVisitorProfile();return ce.populateEagerVisitorData(e,t)}function u(e,t,n){e=e||[];var i=Ie.getAllPlugins(j.PluginTypes.visitorProfileProviders),r=he.getGlobalHoldbackThreshold(),a=Se.getVisitorProfile();ce.populateLazyVisitorData(i,a);var o=Re.getBucketingId();if(!o)throw new Error("bucketingId not set");var s,c=Se.getVisitorProfile();if(t&&!Le){var u=we.getVariationIdMap();s=u[t.id]}var l={bucketingId:o,visitorProfile:c,audiences:e,globalHoldback:r,preferredVariationMap:s,layer:t};return t&&n&&U.isPageIdRelevant(t)?b.map(n,(function(e){return U.createTicket(b.extend({},l,{pageId:e}))})):[U.createTicket(l)]}function l(e){return{bucketingId:Re.getBucketingId(),preferredLayerId:we.getPreferredLayerMap()[e.id]}}function d(e){var n=ve.getAllByPageIds(e),i=ge.getForceVariationIds(),r=ge.getForceAudienceIds(),a=!b.isEmpty(i);a&&$.log("Force variations are in use. Disabling mutual exclusivity.");var o=a?{individual:n}:b.reduce(n,(function(e,t){return t.groupId?e.groups[t.groupId]||(e.groups[t.groupId]=_e.get(t.groupId)):e.individual.push(t),e}),{groups:{},individual:[]});$.log("Deciding Campaigns/Experiments for Page(s)",e);var s=b.map(o.groups,W.description).join(", ");$.log("Groups:",s);var c=b.map(o.individual,X.description).join(", ");$.log("Campaigns/Experiments not in Groups (by Campaign id):",c);var u=b.map(o.groups,b.partial(f,i,r,e))||[],l=b.map(o.individual,(function(n){var a=b.filter(n.pageIds,b.partial(b.includes,e));return t.decideAndExecuteLayerASAP(i,r,a,n)})),d=u.concat(l);return ne.all(d).then((function(t){var n=b.filter(t,(function(e){return!!e}));return $.log("All Campaigns/Experiments for Page(s) (by Campaign id)",e,"resolved:",b.map(n,X.description).join(", ")),n}))}function f(e,n,i,r){try{var a=l(r),o=U.decideGroup(r,a);if(o.reason)return $.debug("Not activating Group",W.description(r),"; reason:",o.reason),ye.getSampleRum()&&q.dispatch(P.RECORD_LAYER_FEATURE_USAGE,{feature:"mutex",entityId:r.id}),ne.resolve();var s=ve.get(o.layerId);if(!s)return $.debug("Visitor was bucketed into a Campaign ("+o.layerId+") which is not in this snippet"),ne.resolve();var c=b.filter(s.pageIds,b.partial(b.includes,i));return b.isEmpty(c)?($.debug("Not activating Group",W.description(r),"; reason: visitor was bucketed into a Campaign/Experiment not related to the currently-activating Page(s)"),ne.resolve()):(ye.getSampleRum()&&q.dispatch(P.RECORD_LAYER_FEATURE_USAGE,{feature:"mutex",entityId:r.id}),t.decideAndExecuteLayerASAP(e,n,c,s))}catch(e){return $.error("Error getting decision for Group",W.description(r),"; ",e),ne.reject(e)}}function p(e,t,n,i){return new ne(function(r,a){try{m(i,e,t,n,(function(a){b.each(a,(function(r){var a=r.pageId?[r.pageId]:n;$.debug("Deciding layer: ",i,"with decisionTicket: ",r,"and actionViewIds: ",a),g(i,e,t,a,r)})),r(i)}))}catch(e){$.error("Error getting decision for Campaign: "+X.description(i),e),a(e)}})}function g(e,n,i,r,a){var o=X.description(e);$.log("Activating Campaign",o,"on Page(s)",r),i.length&&($.log("Applying force audienceIds:",i,"to Campaign",o),a=b.cloneDeep(a),a.audienceIds=i);var s=t.decideLayer(e,a,n),c=!(!n.length&&!i.length),u=t.getActionsForDecision(e,s,c),l=w(u.actions,r);if(u.maybeExecute&&h(l,e,s,r),b.forEach(r,(function(){L.trackDecisionEvent(s,a)})),V.emitLayerDecided({layer:e,decisionTicket:a,decision:s}),s.error)throw s.error;if(ye.getSampleRum()){q.dispatch(P.RECORD_LAYER_POLICY_USAGE,{policy:e.policy,layerId:e.id});var d=v(u.actions);q.dispatch(P.RECORD_CHANGE_TYPE_USAGE,{changeTypes:b.keys(d),layerId:e.id}),b.isEmpty(e.integrationSettings)||q.dispatch(P.RECORD_INTEGRATION_USAGE,{integrations:X.getIntegrationTypes(e),layerId:e.id})}return U.isInCohort(s)?void(u.maybeExecute&&_(l,e,s,r)):void $.log("Not activating Campaign: "+X.description(e)+"; not in the cohort because:",s.reason)}function h(e,t,n,i){var r=X.description(t);$.log("Preparing actions",e,"for Campaign",r,"on Page(s)",i),b.forEach(e,N.prepareAction)}function _(e,t,n,i){var r=X.description(t);return $.log("Executing actions",e,"for Campaign",r,"on Page(s)",i),ne.all(b.map(e,(function(e){return N.executePreparedAction(e).then(b.partial(V.emitActionAppliedEvent,e))}))).then((function(){$.log("All page actions for",n,"applied:",e),V.emitActionsForDecisionAppliedEvent(n,e)}))["catch"]((function(e){$.warn("Error evaluating page actions for decision",n,"because:",e)}))}function v(e){var t={};return b.each(e,(function(e){b.each(e.changeSet,(function(e){t[e.type]||(t[e.type]=!0)}))})),t}function m(e,t,n,i,r){if(t.length||n.length)return void r(u([],void 0,i));var a=X.relatedAudienceIds(e),o=b.reduce(a,(function(e,t){var n=de.get(t);return n&&e.push(n),e}),[]),s=Ie.getAllPlugins(j.PluginTypes.audienceMatchers);if(ye.getSampleRum()){var c={};if(b.each(o,(function(e){b.extend(c,E(e.conditions,s))})),!b.isEmpty(c)){var l=b.keys(c);q.dispatch(P.RECORD_AUDIENCE_USAGE,{audienceTypes:l,layerId:e.id})}}S(o,s,X.getActivationTimeout(e),(function(){var t=u(o,e,i);b.map(t,(function(t){I(t,o,e)})),r(t)}))}function E(e,t){var n={};return b.each(e,(function(e){b.isArray(e)?b.extend(n,E(e,t)):b.isObject(e)&&t[e.type]&&(n[e.type]=!0)})),n}function I(e,t,n){var i=b.map(e.audienceIds,b.bind(de.get,de)),r=b.filter(t,(function(t){return!b.includes(e.audienceIds,t.id)}));$.log("When deciding Campaign",X.description(n),"visitor is in audiences:",y(i),"and not in audiences:",y(r))}function y(e){var t=[];return b.each(e,(function(e){t.push(e.name,e)})),t}function S(e,t,n,i){var r=b.reduce(e,(function(e,n){return b.extend(e,k.requiredAudienceFieldsForConditions(n.conditions,t))}),{}),a=b.reduce(r,(function(e,t){if(b.isUndefined(ce.getAttribute(t))){var n=ce.getPendingAttributeValue(t);b.isUndefined(n)||e.push(n)}return e}),[]);if(0===a.length)return i();var o=[].concat(e),s=ie.firstToResolve(b.map(a,(function(e){return ne.resolve(e).then((function(){var e=Se.getVisitorProfile();if(o=b.filter(o,(function(n){return b.isUndefined(k.isInAudience(e,n,t))})),!b.isEmpty(o))throw new Error("At least one audience is still pending")}))})));ne.race([s,new ne(function(e,t){ue.setTimeout(t,n)})]).then((function(){$.log("Activating Campaign after pending Audiences resolved",e),i()}),(function(){$.log("Activating Campaign after timeout on Audiences",e),i()}))}function T(e,t,n){var i,r=X.description(e);return i=n.length?U.getDummyLayerDecision(e,n):U.decideLayer(e,t),$.log("Recording decision for Campaign",r,t,"->",i),X.recordLayerDecision(e.id,t,i),Le||(i.variationId&&i.experimentId&&ce.updateVariationIdMap(e.id,i.experimentId,i.variationId),e.groupId&&ce.updatePreferredLayerMap(e.groupId,e.id)),i}function A(e){var t=pe.getCleanupFns(e);if(t.length>0){for(;t.length>0;)t.shift()();q.dispatch(P.CLEAR_CLEANUP_FN,{lifecycle:e})}}function R(e,t,n){var i=X.description(e),r="NOT applying changes for Campaign",a={actions:[],maybeExecute:!1};return a.actions=[].concat(fe.getLayerActions(t.layerId)||[],fe.getExperimentActions(t.experimentId)||[],fe.getExperimentVariationActions(t.experimentId,t.variationId)||[]),!n&&he.isGlobalHoldback()?($.log(r,i,"(visitor is in global holdback)"),a):t.isLayerHoldback?($.log(r,i,"(visitor is in layer holdback)"), a):t.experimentId&&t.variationId?(a.maybeExecute=!0,$.log("Got Actions for Campaign:",i,a.actions),a):($.log(r,i,"(visitor is not eligible for any Experiments)"),a)}function w(e,t){return b.filter(e,(function(e){return b.isUndefined(e.pageId)||b.includes(t,e.pageId)}))}var b=n(2),D=n(76).create,O=t.ActivationCodeError=D("ActivationCodeError"),C=t.ProjectJSError=D("ProjectJSError"),N=n(134),P=n(7),L=n(110),V=n(117),k=n(138),x=n(86),F=n(109),M=n(24),U=n(139),G=n(16),B=n(118),z=n(80),j=n(25),H=n(87),Y=n(111),K=n(144),q=n(9),W=n(143),X=n(113),Q=n(81).LocalStorage,$=n(23),J=n(145),Z=n(83),ee=n(122),te=n(88),ne=n(12).Promise,ie=n(146),re=n(114),ae=n(116),oe=n(136),se=n(123),ce=n(74),ue=n(40),G=n(16),le=G.get("stores/session"),de=G.get("stores/audience_data"),fe=G.get("stores/action_data"),pe=G.get("stores/cleanup"),ge=G.get("stores/directive"),he=G.get("stores/global"),_e=G.get("stores/group_data"),ve=G.get("stores/layer_data"),me=G.get("stores/layer"),Ee=G.get("stores/pending_events"),Ie=G.get("stores/plugins"),ye=G.get("stores/rum"),Se=G.get("stores/visitor"),Te=G.get("stores/view_data"),Ae=G.get("stores/view"),Re=G.get("stores/visitor_id"),we=G.get("stores/visitor_bucketing"),be=G.get("stores/xdomain"),De=n(93),Oe=n(120),Ce=n(1),Ne=1e3,Pe=!1,Le=!1,Ve=!1,ke=Le||Ve,xe=1e3,Fe=t;t.initialize=function(e){var n=e.clientData;if(F.normalizeClientData(e.clientData),H.on({filter:{type:"error"},handler:r}),q.dispatch(P.DATA_LOADED,{data:n}),$.log("Initialized with DATA:",n),a(),B.setOptOut(ge.shouldOptOut()),ge.isDisabled()||ge.shouldOptOut())return void $.log("Controller / Is disabled");if(Ce.queueBeacons(),z.isReady()?q.dispatch(P.SET_DOMCONTENTLOADED):z.addReadyHandler((function(){q.dispatch(P.SET_DOMCONTENTLOADED)})),!ke){Z.time("projectJS");var o=he.getProjectJS();if(b.isFunction(o))try{K.apply(o)}catch(e){$.error("Error while executing projectJS: ",e),x.emitError(new C(e))}Z.timeEnd("projectJS")}b.each(e.plugins||[],(function(e){try{e(ee)}catch(e){x.emitInternalError(e)}})),b.each(he.getPlugins()||[],(function(e){try{K.apply(e,[ee])}catch(e){x.emitError(e)}})),re.load();var s=H.on({filter:{type:"lifecycle",name:"activated"},handler:function(){Se.observe(ce.persistVisitorProfile),me.observe(ce.persistLayerStates),le.observe(ce.persistSessionState),Ee.observe(J.persistPendingEvents),Le||we.observe(ce.persistVisitorBucketingStore),H.off(s)}});H.on({filter:{type:"lifecycle",name:"viewsActivated"},handler:t.onViewsActivated}),H.on({filter:{type:"lifecycle",name:"pageDeactivated"},handler:t.onPageDeactivated}),t.initializeApi();var c=J.getPendingEvents();if(c&&(q.dispatch(P.LOAD_PENDING_EVENTS,{events:c}),J.retryPendingEvents(c)),H.on({filter:{type:"lifecycle",name:"activate"},handler:t.activate}),V.emitInitializedEvent(),!ge.shouldActivate())return ne.resolve();var u=[];if(be.isDisabled())i();else{var l=t.initializeXDomainStorage();u.push(l);var d=Boolean(be.getCanonicalOrigins());if(d){var f=ae.makeTimeoutPromise(xe);ne.race([l,f])["catch"]((function(e){$.error("Failed to initialize xDomain storage: ",e)})).then(i)["catch"](Oe.handleError)}else i()}return ne.all(u)},t.activate=function(){try{var e=[];$.log("Activated client"),A(j.Lifecycle.preActivate);var t=M.now();q.dispatch(P.ACTIVATE,{activationId:String(t),activationTimestamp:t});var n=Te.getAll();se.registerViews(n),ce.setId(ce.getOrGenerateId()),e.push(L.trackPostRedirectDecisionEvent()),q.dispatch(P.MERGE_VARIATION_ID_MAP,{variationIdMap:ce.getVariationIdMap()}),q.dispatch(P.MERGE_PREFERRED_LAYER_MAP,{preferredLayerMap:ce.getPreferredLayerMap()}),A(j.Lifecycle.postVisitorProfileLoad),e.push(c(Ie.getAllPlugins(j.PluginTypes.visitorProfileProviders)).then((function(){$.log("Populated visitor profile")})));var i=u(),r=U.decideGlobal(i);$.log("Made global decision",i,"->",r),q.dispatch(P.RECORD_GLOBAL_DECISION,r);var a=L.trackClientActivation();a?$.log("Tracked activation event",a):$.log("Not tracking activation event");var o=Fe.setUpViewActivation(n),s=[];return Pe?s=se.activateMultiple(o):b.each(o,(function(e){s=s.concat(se.activateMultiple([e]))})),Le&&ye.getSampleRum()&&q.dispatch(P.RECORD_VIEWS_INITIALLY_ACTIVATED_COUNT,{viewsInitiallyActivatedCount:s.length}),A(j.Lifecycle.postViewsActivated),A(j.Lifecycle.postActivate),V.emitActivatedEvent(),ne.all(e).then((function(){H.emit({type:Y.TYPES.LIFECYCLE,name:"activateDeferredDone"}),$.log("All immediate effects of activation resolved")}),x.emitError)}catch(e){return x.emitError(e),ne.reject(e)}},Fe.setUpViewActivation=function(e){var t=[];return b.each(e,(function(e){b.isBoolean(Ae.getViewState(e.id).isActive)&&se.isActivationTypeImmediate(e.activationType)?$.debug("Skipping page: already evaluated, presumably at the edge",se.description(e)):se.shouldTriggerImmediately(e.activationType)?t.push(e):e.activationType===j.ViewActivationTypes.callback?($.debug("Setting up conditional activation for Page",se.description(e)),Fe.activateViewOnCallback(e)):e.activationType===j.ViewActivationTypes.polling?($.debug("Setting up polling activation for Page",se.description(e)),te.pollFor(b.partial(K.apply,e.activationCode),null,b.partial(oe.isTimedOut,M.now())).then((function(){se.activateMultiple([e])}))["catch"]((function(t){$.warn("Failed to activate view ",e,t)}))):e.activationType!==j.ViewActivationTypes.manual&&x.emitError(new Error("Unknown view activationType: "+e.activationType))})),t},Fe.activateViewOnCallback=function(e){var t=function(t){var n=b.extend({},t,{pageName:e.apiName,type:"page"});De.push(n)},n={pageId:e.id};Object.defineProperty(n,"isActive",{get:function(){return Ae.isViewActive(e.id)}});try{K.apply(e.activationCode,[t,n])}catch(t){var i=new O("("+t.toString()+") in activationCode for "+se.description(e));x.emitError(i,{originalError:t,userError:!0})}},t.onViewsActivated=function(e){var t,n=e.data.views,i=b.map(n,"id");try{if(!Re.getBucketingId())throw new Error("View activated with no visitorId set");var r=d(i)["catch"](x.emitError);return t=ne.all(b.map(n,(function(e){var t=function(){se.parseViewTags(e);var t=L.trackViewActivation(e);t?$.log("Tracked activation for Page",se.description(e),t):$.log("Not Tracking activation for Page",se.description(e))};return z.isReady()?ne.resolve(t()):te.pollFor(z.isReady,Ne).then(t)}))),ne.all([r,t])}catch(e){x.emitError(e)}},t.onPageDeactivated=function(e){var t=e.data.page,n=fe.getAllActionIdsByPageId(t.id);b.each(n,(function(e){var n=fe.getActionState(e);n&&(b.each(n,(function(e,n){if(e.cancel)try{e.cancel(),$.debug("Controller / Canceled change",n,"observation due to deactivation of page:",t)}catch(e){$.error("Controller / Error canceling change",n,"observation upon deactivation of page.",e)}if(t.undoOnDeactivation&&e.undo)try{e.undo(),$.debug("Controller / Undid change",n,"due to deactivation of page:",t)}catch(e){$.error("Controller / Error undoing change upon deactivation of page.",e)}})),q.dispatch(P.REMOVE_ACTION_STATE,{actionId:e}),$.debug("Controller / Undid changes and/or canceled change observation due to deactivation of page:",t,e))}))},t.initializeApi=function(){var e={push:De.push};Ve||(e.get=De.get);var t=window.optimizely;b.isArray(t)&&b.each(t,(function(t){e.push(t)})),e.data={note:"Obsolete, use optimizely.get('data') instead"},e.state={},window.optimizely=e},t.persistItemsWithId=function(e){return b.each(e,(function(e,t){ce.checkKeyForVisitorId(t)&&Q.setItem(t,e)})),e},t.initializeXDomainStorage=o,t.decideAndExecuteLayerASAP=p,t.decideLayer=T,t.getActionsForDecision=R}),(function(e,t,n){function i(e,t,n){var i=v.getActionState(t.id);if(!i)return void p.warn("Action / Attempted to prepare change for inactive action: ",t);var r=v.getChangeApplier(e.id,t.id);if(!a.isUndefined(r))return void p.warn("Action / Attempted to prepare a change which is already being applied: ",e);var s={changeId:e.id,actionId:t.id,changeApplier:I.create(e,t,n)};f.dispatch(o.SET_CHANGE_APPLIER,s)}function r(e,t,n,o){if(a.includes(o,t))return void p.error("Change with id "+t+" has circular dependencies: "+o.concat(t));if(!e[t]){var u=m.getChange(t);if(!u){var d="Change with id "+t+" is absent";return o.length&&(d+=" but listed as a dependency for "+o[o.length-1]),void p.warn(d)}e[t]=new g(function(d){var f=a.map(u.dependencies||[],(function(i){return r(e,i,n,o.concat([t]))}));if(u.src){var _="change_"+u.src,E=c.makeAsyncRequest(_,(function(){return h.addScriptAsync("https://cdn.optimizely.com/public/125375509/data"+u.src,(function(){c.resolveRequest(_)}))})).then((function(){var e=m.getChange(u.id);e||s.emitError(new S("Failed to load async change from src: "+u.src)),i(e,n,l.now())}));f.push(E)}g.all(f).then((function(){var e=l.now(),i=v.getChangeApplier(t,n.id);return i?(p.debug("Action / Applying change:",u),i.apply().then((function(t){t?p.log(t):p.debug("Action / Applied change for the first time in "+(l.now()-e)+"ms:",u),d()}))):(p.debug("Action / Not applying change ",t," - No changeApplier found."),void d())}))["catch"]((function(e){p.error("Action / Failed to apply change:",u,e),d()}))})}return e[t]}var a=n(2),o=n(7),s=n(86),c=n(6),u=n(76).create,l=n(24),d=n(16),f=n(9),p=n(23),g=n(12).Promise,h=n(132),_=d.get("stores/global"),v=d.get("stores/action_data"),m=d.get("stores/change_data"),E=d.get("stores/session"),I=n(135),y=n(136);y.initialize();var S=u("ActionError");t.prepareAction=function(e){p.debug("Action / Preparing:",e),f.dispatch(o.ACTION_EXECUTED,{actionId:e.id,sessionId:E.getSessionId(),layerId:e.layerId,pageId:e.pageId,timestamp:l.now(),activationId:_.getActivationId()});var t=l.now();a.forEach(e.changeSet,(function(n){var r=a.isObject(n)?n.id:n,s=m.getChange(r);s||(f.dispatch(o.ADD_CHANGE,n),s=m.getChange(n.id)),s.src||i(s,e,t)}))},t.executePreparedAction=function(e){p.debug("Action / Executing:",e);var t={},n=a.map(e.changeSet,(function(n){var i=a.isObject(n)?n.id:n;return r(t,i,e,[])}));return g.all(n).then((function(){p.debug("changes for action id="+e.id+" applied")}))}}),(function(e,t,n){var i=n(13).Promise,r=n(24),a=n(16),o=a.get("stores/plugins"),s=n(25),c=n(23);t.create=function(e,t,n){var a={identifier:e.id,action:t,startTime:n||r.now()};try{var u=o.getPlugin(s.PluginTypes.changeAppliers,e.type);if(!u)throw new Error("Unrecognized change type "+e.type);return new u(e,a)}catch(e){c.error("Change applier was never properly constructed:",e);var l={apply:function(){return i.reject(e)}};return l}}}),(function(e,t,n){function i(){"interactive"!==document.readyState&&"complete"!==document.readyState||(t.domReadyTime=Date.now())}var r=n(137),a=n(16).get("stores/directive");t.domReadyTime=null,t.initialize=function(){i(),document.addEventListener("readystatechange",i,!0)},t.isTimedOut=function(e){var n=Date.now();if(!t.domReadyTime||!e)return!1;var i=Math.max(e,t.domReadyTime);return a.isEditor()&&(i=t.domReadyTime),!(n-i-1)return{experimentId:e.experiments[n].id,variationId:e.experiments[n].variations[i].id};return null}function a(e){var t=y.getPlugin(h.PluginTypes.deciders,e);if(s.isEmpty(t))throw new Error("No deciders found for policy: "+e);return t}function o(e,t){var n=y.getAllPlugins(h.PluginTypes.audienceMatchers);return s.reduce(t,(function(t,i){return u.isInAudience(e,i,n)&&t.push(i.id),t}),[])}var s=n(2),c=n(86),u=n(138),l=n(140),d=n(141),f=n(142).DecisionError,p=n(7),g=n(16),h=n(25),_=n(9),v=n(143),m=n(113),E=n(23),I=n(44),y=g.get("stores/plugins"),S=g.get("stores/global"),T=g.get("stores/layer_data");t.isPageIdRelevant=function(e){if(!e)return!1;var t=a(e.policy);return s.isFunction(t.includePageIdInDecisionTicket)?t.includePageIdInDecisionTicket(e):t.includePageIdInDecisionTicket===!0},t.createTicket=function(e){var t=s.pick(e,["bucketingId","globalHoldback","preferredVariationMap","pageId"]);return s.extend(t,{audienceIds:o(e.visitorProfile,e.audiences),activationId:S.getActivationId()}),t},t.decideGlobal=function(e){var t=l.isHoldback(e.bucketingId,{id:null,holdback:e.globalHoldback});return{isGlobalHoldback:t}},t.decideGroup=i,t.decideLayer=function(e,t){E.debug("Deciding: ",e,t);var n,i,r=a(e.policy),o={layerId:e.id,experimentId:null,variationId:null,isLayerHoldback:l.isHoldback(t.bucketingId,e)};if(s.isEmpty(e.experiments))throw new f("No experiments in layer.");try{if(r.decideLayer){E.debug("Decision / Using decider's custom decideLayer.");var u=r.decideLayer(e,t);n=u.experiment,i=u.variation}else E.debug("Decision / Using default decideLayer behavior."),n=r.selectExperiment(e,t.audienceIds,t.bucketingId),i=d.selectVariation(n,t.audienceIds,t.bucketingId,t.activationId,t.preferredVariationMap)}catch(e){e instanceof f?o.reason=e.message:o.error=e}return o.experimentId=n?n.id:null,o.variationId=i?i.id:null,o.error&&(o.error.name="DecisionEngineError",c.emitError(o.error)),o},t.getDummyLayerDecision=function(e,t){var n,i=r(e,t);return i?(E.log("Decision / Applying force variation:",i.variationId,"to Campaign",m.description(e)),n={layerId:e.id,variationId:i.variationId,experimentId:i.experimentId,isLayerHoldback:!1,reason:"force"}):(E.log("No variation matches ids:",t,"in Campaign",m.description(e)),n={layerId:e.id,variationId:null,experimentId:null,isLayerHoldback:!1,reason:"force"}),n},t.isInCohort=function(e){if(!e.experimentId||!e.variationId)return!1;var t=T.get(e.layerId);return!(I.isSingleExperimentPolicy(t.policy)&&e.isLayerHoldback)}}),(function(e,t,n){var i=n(64),r=t.TOTAL_POINTS=1e4;t.bucketingNumber=function(e,t,n){var a=i.hashToInt(e+t,n,r);return a},t.isHoldback=function(e,n){return t.bucketingNumber(e,n.id,i.Seed.IGNORING)<(n.holdback||0)},t.chooseWeightedCandidate=function(e,n,r){for(var a=t.bucketingNumber(e,n,i.Seed.BUCKETING),o=0;oa)return r[o].entityId;throw new Error("Unable to choose candidate")}}),(function(e,t,n){var i=n(2),r=n(140),a=n(124),o=n(142).DecisionError,s=n(23),c=n(9),u=n(7),l="impression";t.isValidExperiment=function(e,t){var n,r=i.partial(i.includes,e);return s.groupCollapsed("Decision / Evaluating audiences for experiment:",t,e),n=!t.audienceIds||a.evaluate(t.audienceIds,r),s.groupEnd(),s.debug("Decision / Experiment",t,"is valid?",n),n},t.selectVariation=function(e,t,n,a,d){if(!e.variations||0===e.variations.length)throw new o('No variations in selected experiment "'+e.id+'"');if(!e.weightDistributions&&e.variations.length>1)throw new o('On selected experiment "'+e.id+'", weightDistributions must be defined if # variations > 1');var f;if(e.bucketingStrategy&&e.bucketingStrategy===l)if(1===e.variations.length)f=e.variations[0].id;else{var p=a;f=r.chooseWeightedCandidate(n+p,e.id,e.weightDistributions)}else if(f=1===e.variations.length?e.variations[0].id:r.chooseWeightedCandidate(n,e.id,e.weightDistributions),d&&d[e.id]){s.debug("Decision / Using preferredVariationMap to select variation for experiment:",e.id);var g=d[e.id];if(!i.find(e.variations,{id:g}))return c.dispatch(u.RECORD_STICKY_BUCKETING_FEATURE,{feature:"stoppedVariation",id:e.id}),s.debug("Decision / Preferred variation:",g,"not found on experiment:",e.id,". Visitor not bucketed."),null;g!==f&&(c.dispatch(u.RECORD_STICKY_BUCKETING_FEATURE,{feature:"preferredVariation",id:e.id}),f=g)}var h=i.find(e.variations,{id:f});if(h)return s.debug("Decision / Selected variation:",h),h;throw new o('Unable to find selected variation: "'+f+'".')},t.getExperimentById=function(e,t){var n=i.find(e.experiments,{id:t});if(n)return n;throw new o("Unable to find selected experiment.")},t.hasVariationActionsOnView=function(e,t){return s.debug("Decision / Checking variation:",e,"for actions on pageId:",t),!!i.find(e.actions,(function(e){return e.pageId===t&&!i.isEmpty(e.changes)}))}}),(function(e,t){function n(e){this.message=e}n.prototype=new Error,t.DecisionError=n}),(function(e,t,n){function i(e){return r.map(e.weightDistributions,"entityId")}var r=n(2);t.description=function(e){var t=!!e.name,n=t?'"'+e.name+'" ':"",r=i(e).join(", ");return n+"(id "+e.id+", campaigns: "+r+")"}}),(function(module,exports,__webpack_require__){var createError=__webpack_require__(77),di=__webpack_require__(16),Logger=__webpack_require__(23),CSP_MODE=!1,EXEC_WITH_JQUERY=!0,ExecError=exports.Error=createError("ExecError");exports.apply=function(e,t){t=t||[],EXEC_WITH_JQUERY&&(t=t.concat(di.get("env/jquery")));try{return e.apply(void 0,t)}catch(n){throw Logger.warn("Error applying function",e,"with args:",t,n),new ExecError(n)}},exports.eval=function(str){if(CSP_MODE)throw new ExecError("eval is not supported in CSP mode");try{return EXEC_WITH_JQUERY&&(str="var $ = optimizely.get('jquery');"+str),eval(str)}catch(e){throw Logger.warn("Error executing JS:",str,e),new ExecError(e)}}}),(function(e,t,n){var i=n(2),r=n(86),a=n(25),o=n(26),s=n(81).LocalStorage,c=n(23),u=n(91),l=n(16),d=l.get("stores/pending_events"),f=a.StorageKeys.PENDING_EVENTS;t.persistPendingEvents=function(){try{var e=d.getEventsString();s.setItem(f,e),n(85).setItem(f,e)}catch(e){c.warn("PendingEvents / Unable to set localStorage key, error was: ",e),r.emitInternalError(e)}},t.getPendingEvents=function(){try{return o.parse(s.getItem(f))}catch(e){return null}},t.retryPendingEvents=function(e){i.forOwn(e,(function(e,t){u.retryableRequest(e.data,t,e.retryCount)})),i.isEmpty(e)||c.log("Retried pending events: ",e)}}),(function(e,t,n){var i=n(2),r=n(12).Promise;t.firstToResolve=function(e){return new r(function(t){i.each(e,(function(e){r.resolve(e).then(t,(function(){}))}))})}}),(function(e,t,n){function i(e){var t=!1;if(a.isArray(window.optimizely)&&a.each(window.optimizely,(function(n){a.isArray(n)&&"verifyPreviewProject"===n[0]&&String(n[1])===e&&(t=!0)})),!t)throw new Error("Preview projectId: "+e+" does not match expected")}function r(){s.on({filter:{type:c.TYPES.ANALYTICS,name:"trackEvent"},handler:f}),s.on({filter:{type:c.TYPES.LIFECYCLE,name:"viewActivated"},handler:f}),s.on({filter:{type:c.TYPES.LIFECYCLE,name:"layerDecided"},handler:f}),s.on({filter:{type:"error"},publicOnly:!0,handler:f})}var a=n(2),o=n(16),s=n(87),c=n(111),u=n(40),l=o.get("stores/directive"),d="optimizelyPreview",f=function(e){var t=u.getGlobal(d);t.push(e)};t.initialize=function(e){l.isSlave()&&i(e),r()},t.setupPreviewGlobal=function(){u.getGlobal(d)||u.setGlobal(d,[])},t.pushToPreviewGlobal=function(e){f(e)}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(149))}}),(function(e,t){e.exports={provides:"visitorId",getter:["stores/visitor_id",function(e){return e.getRandomId()}]}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(151)),e.registerAudienceMatcher("behavior",n(153))}}),(function(e,t,n){var i=n(152);e.exports={provides:"events",isTransient:!0,getter:[function(){return i.getEvents()}]}}),(function(e,t,n){var i=n(2),r=n(72),a=n(16),o=a.get("stores/visitor_events"),s=1e3;t.getEvents=function(){var e=r.getEvents(),t=[].concat.apply([],i.values(o.getForeignEvents())),n=[].concat.apply([],i.values(o.getForeignEventQueues())),a=r.mergeAllEvents([e,t,n]);return a.slice(a.length-s)}}),(function(e,t,n){var i=n(2),r=n(26),a=n(154),o=n(155);e.exports={fieldsNeeded:["events"],match:function(e,t){var n=[],s=r.parse(t.value);return n=i.isUndefined(s.version)?[s]:a.buildFromSpecV0_1(s),i.every(n,(function(t){return o.isSatisfied(t,e.events)}))}}}),(function(e,t,n){function i(e){return e=(e||"").toString().trim(),p[e]||e}function r(e,t,n){var i={where:t};if(e.count&&(i["limit"]=e.count),e.modifier===s.FREQUENCY_FILTERS.MOST_FREQUENT){var r=s.getFieldKeyPathForSource(e.name,n),a=s.aggregate("count"),o=s.aggregateField("count"),l=s.groupField(r);return c.extend(i,{select:[{field:l}],groupBy:s.groupBy([r]),aggregate:[a],orderBy:[{field:o,direction:"DESC"}]})}return c.extend(i,{orderBy:[{field:[u.FIELDS.TIME],direction:"DESC"}]})}function a(e){var t=[];if(c.isUndefined(e))throw new Error("rule is undefined");if(!c.isObject(e))throw new Error("rule is not an Object");"0.2"!==e["version"]&&t.push('version: not "0.2"'),e["filter"]&&(c.isArray(e["filter"])?c.each(e["filter"],(function(e,n){var i=s.validateFieldKeyPathV0_2(e["field"],s.FieldPurpose.FILTER);i&&t.push("filter["+n+"]: "+i);var r=s.validateComparatorAndValue(e["comparator"],e["value"]);r&&t.push("filter["+n+"]: "+r)})):t.push("filter: not an array"));var n=[],i=[];if(e["sort"]&&(e["reduce"]&&e["reduce"]["aggregator"]&&"nth"!==e["reduce"]["aggregator"]&&t.push("sort: superfluous because we can apply aggregator "+l.stringify(e["reduce"]["aggregator"])+" to unsorted items"),c.isArray(e["sort"])?c.each(e["sort"],(function(e,r){var a=s.validateFieldKeyPathV0_2(e["field"],s.FieldPurpose.SORT);a&&t.push("sort["+r+"]: "+a),e["field"]&&"frequency"===e["field"][0]?n.push(e):i.push(e);var c=o(e["direction"]);c&&t.push("sort["+r+"]: "+c)})):t.push("sort: not an array"),n.length&&i.length&&t.push('sort: sorting by non-["frequency"] field is pointless because we are going to sort the picked values by ["frequency"]'),n.length&&!e["pick"]&&t.push('sort: sorting by ["frequency"] is impossible because no values have been picked')),e["pick"]){e["reduce"]&&"count"===e["reduce"]["aggregator"]&&t.push('pick: superfluous because we can apply aggregator "count" to raw events');var r=s.validateFieldKeyPathV0_2(e["pick"]["field"]);r&&t.push("pick: "+r)}if(e["reduce"]){var a=e["reduce"]["aggregator"],u="aggregator "+(l.stringify(a)||String(a)),d=e["reduce"]["n"],f="index "+(l.stringify(d)||String(d));c.includes(["sum","avg","max","min","count","nth"],a)||t.push("reduce: "+u+" is unknown"),c.includes(["sum","avg","max","min"],a)&&(e["pick"]||t.push("reduce: "+u+" is impossible to use because no values have been picked")),"nth"===a?((!c.isNumber(d)||isNaN(d)||parseInt(d,10)!==d||d<0)&&t.push("reduce: "+f+" is not a non-negative integer (mandated by "+u+")"),e["sort"]||t.push('reduce: aggregator "nth" is meaningless without a specific sort order')):c.isUndefined(d)||t.push("reduce: "+f+" is defined (not mandated by "+u+")")}if(t.length)throw new Error(t.join("\n"))}function o(e){var t="direction "+(l.stringify(e)||String(e));if(!c.includes(["ascending","descending"],e))return t+' is not "ascending" or "descending"'}var s=t,c=n(2),u={FIELDS:n(63).FIELDS,FIELDS_V0_2:n(63).FIELDS_V0_2},l=n(26),d=n(23),f=n(155);s.MILLIS_IN_A_DAY=864e5,s.aggregateField=function(e,t){return c.isString(t)&&(t=[t]),t=t||f.DEFAULT_FIELD,[f.generateAlias(e,t)]},s.groupField=function(e){return c.isString(e)&&(e=[e]),e=e||f.DEFAULT_FIELD,[e.join(".")]};var p={"<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","==":"eq"};s.fieldComparison=function(e,t,n){return e=i(e),c.isString(t)&&(t=[t]),"exists"===e?{op:e,args:[{field:t}]}:{op:e,args:[{field:t},{value:n}]}},s.relativeTimeComparison=function(e,t){return{op:i(e),args:[{op:"-",args:[{eval:"now"},{field:[u.FIELDS.TIME]}]},{value:t*s.MILLIS_IN_A_DAY}]}},s.rangeTimeComparison=function(e){return c.isArray(e)?{op:"between",args:[{field:[u.FIELDS.TIME]},{value:[e[0]||+new Date(0),e[1]||+new Date]}]}:(d.error("Rule builder","rangeTimeComparison passed invalid range",e),null)},s.groupBy=function(e){for(var t=[],n=0;n0)throw new Error('A "pick" clause must not be specified with "count" or "most_recent", "most_frequent" modifiers'+l.stringify(e));return[r(e.pick,t,e.source)]}return n.length>0?n:[{where:t}]},s.buildFromSpecV0_2=function(e){a(e);var t={where:{op:"and",args:c.map(e["filter"]||[],(function(e){return"age"===e["field"][0]?s.relativeTimeComparison(e["comparator"]||"eq",e["value"]/s.MILLIS_IN_A_DAY):s.fieldComparison(e["comparator"]||"eq",s.convertFieldKeyPathFromSpecV0_2(e["field"]),e["value"])}))}};if(e["reduce"]&&"count"===e["reduce"]["aggregator"])return c.extend(t,{aggregate:[{op:"count",args:[{field:["*"]}]}],select:[{field:["_count_*"]}]});var n=[],i=[];if(e["sort"]&&(c.each(e["sort"],(function(e){c.includes(["ascending","descending"],e["direction"])&&(c.includes(["time","age"],e["field"][0])&&i.push(e),"frequency"===e["field"][0]&&n.push(e))})),i.length&&!n.length&&(t["orderBy"]=c.filter(c.map(i,(function(e){return"time"===e["field"][0]?{field:s.convertFieldKeyPathFromSpecV0_2(["time"]),direction:"ascending"===e["direction"]?"ASC":"DESC"}:"age"===e["field"][0]?{field:s.convertFieldKeyPathFromSpecV0_2(["time"]),direction:"ascending"===e["direction"]?"DESC":"ASC"}:void 0}))))),e["pick"]&&e["pick"]["field"]){var r=s.convertFieldKeyPathFromSpecV0_2(e["pick"]["field"]);if(e["reduce"]&&c.includes(["avg","max","min","sum"],e["reduce"]["aggregator"]))return c.extend(t,{aggregate:[{op:e["reduce"]["aggregator"],args:[{field:r}]}],select:[{field:[f.generateAlias(e["reduce"]["aggregator"],r)]}]});t=n.length?c.extend(t,{groupBy:[{field:r}],aggregate:[{op:"count",args:[{field:["*"]}]}],orderBy:[{field:["_count_*"],direction:"ascending"===n[0]["direction"]?"ASC":"DESC"}],select:[{field:[r.join(".")]}]}):c.extend(t,{select:[{field:r}]})}if(e["reduce"]&&"nth"===e["reduce"]["aggregator"]){var o=e["reduce"]["n"];if(c.isNumber(o)&&o>=0&&Number(o)===Math.floor(Number(o)))return c.extend(t,{offset:o,limit:1})}return t},s.convertFieldKeyPathFromSpecV0_2=function(e){return"tags"===e[0]&&"revenue"===e[1]?["r"]:[u.FIELDS_V0_2[e[0]]].concat(e.slice(1))},s.FieldPurpose={FILTER:"filter",SORT:"sort",PICK:"pick"},s.validateFieldKeyPathV0_2=function(e,t){var n="field "+(l.stringify(e)||String(e));if(!c.isArray(e)||!c.every(e,c.isString))return n+" is not an array of strings";if("tags"===e[0]&&e.length>2||"tags"!==e[0]&&e.length>1)return n+" includes too many strings";if("tags"===e[0]&&e.length<2)return n+" does not specify an exact tag";if(e.length<1)return n+" does not specify a top-level field";var i=c.keys(u.FIELDS_V0_2),r=["age","frequency"];return t===s.FieldPurpose.FILTER&&(i.push("age"),r=["frequency"]),t===s.FieldPurpose.SORT&&(i=["time","age","frequency"],r=["name","type","category","tags"]),c.includes(r,e[0])?n+" is not supported here":c.includes(i,e[0])?void 0:n+" is unknown"},s.validateComparatorAndValue=function(e,t){var n="comparator "+(l.stringify(e)||String(e)),i="value "+(l.stringify(t)||String(t));if(!c.isString(e)&&!c.isUndefined(e))return n+" is not a string";switch(e){case void 0:case"eq":case"is":case"contains":break;case"lt":case"gt":case"lte":case"gte":if(!c.isNumber(t))return i+" is not a number (mandated by "+n+")";break;case"in":if(!c.isArray(t))return i+" is not an array (mandated by "+n+")";break;case"between":if(!(c.isArray(t)&&2===t.length&&c.isNumber(t[0])&&c.isNumber(t[1])&&t[0]<=t[1]))return i+" is not a pair of increasing numbers (mandated by "+n+")";break;case"regex":if(!(c.isString(t)||c.isArray(t)&&2===t.length&&c.isString(t[0])&&c.isString(t[1])))return i+" is not a pattern string or a [pattern string, flags string] array (mandated by "+n+")";break;case"exists":if(!c.isUndefined(t))return i+" is not undefined (mandated by "+n+")";break;default:return n+" is unknown"}}}),(function(e,t,n){var i=n(2),r=n(25),a=n(23),o=i.bind(a.log,a),s=n(24),c=n(19).getFieldValue,u=n(26),l=function(e,t,n){if(e.getValueOrDefault)return e.getValueOrDefault(t,n);if(!i.isArray(t))return n;var r=c(e,t);return"undefined"==typeof r&&(r=n),r},d=function(e){return"string"==typeof e?e.trim().toLowerCase():e};t.clause={WHERE:"where",GROUP_BY:"groupBy",AGGREGATE:"aggregate",HAVING:"having",ORDER_BY:"orderBy",SELECT:"select",OFFSET:"offset",LIMIT:"limit",FROM:"from"},t.DEFAULT_FIELD=["*"],t.booleanOperators={eq:function(e){var t=i.map(e,d);return t[0]==t[1]},is:function(e){return e[0]===e[1]},gt:function(e){return e[0]>e[1]},lt:function(e){return e[0]=e[1]},lte:function(e){return e[0]<=e[1]},"in":function(e){var t=i.map(e[1]||[],d);return i.includes(t,d(e[0]))},between:function(e){return e[1][0]<=e[0]&&e[0]<=e[1][1]; },contains:function(e){var t=i.map(e,(function(e){return"string"==typeof e?e.toLowerCase():e}));return(t[0]||"").indexOf(t[1])!==-1},regex:function(e){try{var t,n;return i.isString(e[1])?(t=e[1],n="i"):(t=e[1][0]||"",n=e[1][1]||""),new RegExp(t,n).test(e[0])}catch(e){return a.error("Rules",'In operator "regex", error: '+(e.message||"invalid RegExp /"+[t,n].join("/"))),!1}},exists:function(e){return"undefined"!=typeof e[0]},and:function(e){return i.every(e,(function(e){return e}))},or:function(e){return i.some(e,(function(e){return e}))},not:function(e){return!e[0]}},t.arithmeticOperators={"+":function(e){return(e[0]||0)+(e[1]||0)},"-":function(e){return(e[0]||0)-(e[1]||0)},"/":function(e){return(e[0]||0)/(e[1]||1)},"%":function(e){return(e[0]||0)%(e[1]||1)}},t.aggregateOperators={sum:function(e,n){for(var i=e[0]||t.DEFAULT_FIELD,r=0,a=0;au)return o}return 0})):(o("Rules","groupBy rule must be an array"),t)};t.rewrite=function(e){function n(e,s){if(i.isArray(e)&&("and"!==e[0]&&"or"!==e[0]&&"not"!==e[0]&&a.error("Rules","Unexpected operation "+e[0]+". Continuing optimistically."),e={op:e[0],args:e.slice(1)}),e.hasOwnProperty("field")||e.hasOwnProperty("value")||e.hasOwnProperty("eval"))return e;if(s&&e["op"]in t.aggregateOperators){var c=(e["args"]&&e["args"][0]||{})["field"]||t.DEFAULT_FIELD,u=t.generateAlias(e["op"],c);return u in o||(r.push({op:e["op"],args:e["args"]}),o[u]=!0),{field:[u]}}for(var l=[],d=e["args"]||[],f=0;f0)&&(s[t.clause.AGGREGATE]=(e[t.clause.AGGREGATE]||[]).concat(r));for(var c=[t.clause.GROUP_BY,t.clause.ORDER_BY,t.clause.SELECT,t.clause.OFFSET,t.clause.LIMIT],u=0;u0&&(r=i.map(r,(function(e){return"Sub-rule "+n+": "+e}))),e.hasOwnProperty(t.clause.FROM)&&(r=r.concat(E(e[t.clause.FROM],n+1))),r},I=function(e,t){return i.map(t,(function(t){return i.map(e,(function(e){return g(t,e)}))}))},y=function(e,n){var r=n;if(e.hasOwnProperty(t.clause.FROM)&&(a.debug("Evaluating FROM clause:",e[t.clause.FROM]),r=y(e[t.clause.FROM],r),a.debug("Results after FROM:",r)),a.debug("Evaluating WHERE clause:",e[t.clause.WHERE]),r=i.filter(r,(function(n){return g(n,e[t.clause.WHERE])})),a.debug("Results after WHERE:",r),e.hasOwnProperty(t.clause.AGGREGATE)){a.debug("Evaluating AGGREGATE clause:",e[t.clause.AGGREGATE]);var o=h(e[t.clause.GROUP_BY],r),s=_(e[t.clause.AGGREGATE],o);r=v(o,s),a.debug("Results after AGGREGATE:",r)}e.hasOwnProperty(t.clause.HAVING)&&(a.debug("Evaluating HAVING clause:",e[t.clause.HAVING]),r=i.filter(r,(function(n){return g(n,e[t.clause.HAVING])})),a.debug("Results after HAVING:",r)),e.hasOwnProperty(t.clause.ORDER_BY)&&(a.debug("Evaluating ORDER_BY clause:",e[t.clause.ORDER_BY]),r=m(e[t.clause.ORDER_BY],r),a.debug("Results after ORDER_BY:",r));var c=0;e.hasOwnProperty(t.clause.OFFSET)&&(a.debug("Evaluating OFFSET clause:",e[t.clause.OFFSET]),c=Number(e[t.clause.OFFSET]));var u;return e.hasOwnProperty(t.clause.LIMIT)&&(a.debug("Evaluating LIMIT clause:",e[t.clause.LIMIT]),u=c+Number(e[t.clause.LIMIT])),(c>0||!i.isUndefined(u))&&(r=r.slice(c,u),a.debug("Results after OFFSET/LIMIT:",r)),e.hasOwnProperty(t.clause.SELECT)&&(a.debug("Evaluating SELECT clause:",e[t.clause.SELECT]),r=I(e[t.clause.SELECT],r),a.debug("Results after SELECT:",r)),r};t.execute=function(e,n){e=t.rewrite(e),a.shouldLog(r.LogLevel.DEBUG)&&a.groupCollapsed("Evaluating Behavioral Rule"),a.debug("Rule:",e,u.stringify(e)),a.debug("Events:",n);var i=E(e);if(i.length>0)throw new Error("Rule "+u.stringify(e)+" has violations: "+i.join("\n"));var o=y(e,n);return a.debug("Rule result:",o),a.shouldLog(r.LogLevel.DEBUG)&&a.groupEnd(),o},t.isSatisfied=function(e,n){try{return t.execute(e,n).length>0}catch(t){return a.error("Rules","Error "+t.toString()+" while evaluating rule "+u.stringify(e)),!1}}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(157))}}),(function(e,t,n){var i=n(2),r=n(158),a=n(152),o=n(26),s=n(154);e.exports={provides:"customBehavior",shouldTrack:!0,isLazy:!1,getter:["stores/global","stores/visitor_attribute_entity",function(e,t){var n=e.getProjectId(),c=i.filter(i.map(t.getCustomBehavioralAttributes(n),(function(e){try{return{id:e.id,granularity:r.GRANULARITY.ALL,rule:s.buildFromSpecV0_2(o.parse(e.rule_json))}}catch(e){return}}))),u=a.getEvents();return r.evaluate(c,u)}]}}),(function(e,t,n){function i(e){if(0===e.length)return[];for(var t=e.length-1,n=o.FIELDS.SESSION_ID,i=e[t][n];t>0&&i===e[t-1][n];)t--;return e.slice(t)}function r(e,t){if(0===e.length||t<=0)return[];var n=+new Date-t*s.MILLIS_IN_A_DAY;n-=n%s.MILLIS_IN_A_DAY;for(var i=e.length;i>0&&n<=e[i-1][o.FIELDS.TIME];)i--;return e.slice(i)}var a=n(23),o={FIELDS:n(63).FIELDS},s=n(154),c=n(155);t.GRANULARITY={ALL:"all",CURRENT_SESSION:"current_session",LAST_30_DAYS:"last_30_days",LAST_60_DAYS:"last_60_days"},t.evaluate=function(e,n){var o={};if(0===n.length){for(var s=0;s0){var t=e[0],n=a(t,[i.FIELDS.SESSION_INDEX]);return n===o}return!0}]}}),(function(e,t){e.exports={fieldsNeeded:["first_session"],match:function(e){return!!e.first_session}}}),(function(e,t,n){e.exports=function(e){e.registerApiModule("behavior",n(163))}}),(function(e,t,n){function i(e,t){var n=d.buildFromSpecV0_1(t);if(1!==n.length)throw new Error("Invalid query descriptor; verify that no aggregators are specified");return f.execute(n[0],e)}function r(e,t){return u.map(e,(function(e){return u.isFunction(e.toObject)?e.toObject(t):e}))}function a(e,t){if(!e)return["Descriptor not defined"];var n=[];return e.count&&n.push('Unexpected "count" clause specified'),e.pick&&e.pick.modifier&&t.indexOf(e.pick.modifier)===-1&&n.push('Invalid "pick" modifier "'+e.pick.modifier+'"'),u.each(e.filters,(function(e){u.isUndefined(e.modifier)||n.push('Unexpected "filter" modifier "'+e.modifier+'"')})),n.length>0?n:void 0}function o(e,t){var n,o={revenueAsTag:!1,timeAsTimestamp:!0};if(u.isUndefined(t))return n=l.getEvents(e),r(n,o);if(u.isNumber(t)){if(t<=0)throw new Error("Count must be a positive integer, got "+t);return n=l.getEvents(e),r(n.slice(-t),o)}var s=a(t,u.values(d.RECENCY_FILTERS));if(s)throw new Error(s.join("\n"));return n=l.getEvents(e),r(i(n,t),o)}function s(e,t){if(t=u.cloneDeep(t)||{},!t.pick)throw new Error('No "pick" clause provided in query descriptor');if(!t.pick.name)throw new Error('No field name provided in "pick" clause');t.pick.modifier=t.pick.modifier||d.FREQUENCY_FILTERS.MOST_FREQUENT;var n=a(t,u.values(d.FREQUENCY_FILTERS));if(n)throw new Error(n.join("\n"));var r=l.getEvents(e);return i(r,t)}function c(e,t){var n=d.buildFromSpecV0_2(t),i=l.getEvents(e),a=r(f.execute(n,i),{revenueAsTag:!0,timeAsTimestamp:!1});return(t.pick||t.reduce&&"count"===t.reduce.aggregator)&&(a=u.flatten(a)),t.reduce&&(a=a[0]),a}var u=n(2),l=n(152),d=n(154),f=n(155);e.exports=["stores/visitor_events",function(e){return{getEvents:u.partial(o,e),getByFrequency:u.partial(s,e),query:u.partial(c,e)}}]}),(function(e,t,n){e.exports=function(e){e.registerDependency("sources/browser_id",n(165)),e.registerVisitorProfileProvider(n(170)),e.registerVisitorProfileProvider(n(171)),e.registerAudienceMatcher("browser_version",n(172))}}),(function(e,t,n){var i=n(166);t.getId=function(){return i.get().browser.id},t.getVersion=function(){return i.get().browser.version}}),(function(e,t,n){var i=n(2),r=n(167),a=n(40),o=n(7),s=n(16),c=n(9),u=s.get("stores/ua_data");t.get=function(){var e=u.get();return i.isEmpty(e)&&(e=r.parseUA(a.getUserAgent()),c.dispatch(o.SET_UA_DATA,{data:e})),e}}),(function(e,t,n){function i(e){if(e=(e||"").toLowerCase(),e in c)return e;var t=a.keys(c);return a.find(t,(function(t){var n=c[t];return a.includes(n,e)}))||"unknown"}function r(e,t,n){return t?t:"unknown"===e?"unknown":n?"mobile":"desktop_laptop"}var a=n(2),o=n(168);t.parseUA=function(e){var t=new o(e),n=t.getBrowser(),a=t.getOS(),c=t.getDevice(),l=(a.name||"unknown").toLowerCase(),d=(n.name||"unknown").toLowerCase(),f=s(c.type,d,l);return{browser:{id:i(n.name),version:n.version},platform:{name:l,version:a.version},device:{model:u[c.model]||"unknown",type:r(d,c.type,f),isMobile:f}}};var s=function(e,t,n){if(a.includes(["mobile","tablet"],e))return!0;if(a.includes(["opera mini"],t))return!0;var i=["android","blackberry","ios","windows phone"];return!!a.includes(i,n)},c={gc:["chrome","chromium","silk","yandex","maxthon","chrome webview"],edge:["edge"],ie:["internet explorer","iemobile"],ff:["firefox","iceweasel"],opera:["opera","opera mini","opera tablet"],safari:["safari","mobile safari","webkit"],ucbrowser:["uc browser"]},u={iPhone:"iphone",iPad:"ipad"}}),(function(e,t,n){var i;!(function(r,a){"use strict";var o="0.7.17",s="",c="?",u="function",l="undefined",d="object",f="string",p="major",g="model",h="name",_="type",v="vendor",m="version",E="architecture",I="console",y="mobile",S="tablet",T="smarttv",A="wearable",R="embedded",w={extend:function(e,t){var n={};for(var i in e)t[i]&&t[i].length%2===0?n[i]=t[i].concat(e[i]):n[i]=e[i];return n},has:function(e,t){return"string"==typeof e&&t.toLowerCase().indexOf(e.toLowerCase())!==-1},lowerize:function(e){return e.toLowerCase()},major:function(e){return typeof e===f?e.replace(/[^\d\.]/g,"").split(".")[0]:a},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},b={rgx:function(e,t){for(var n,i,r,o,s,c,l=0;l0?2==o.length?typeof o[1]==u?this[o[0]]=o[1].call(this,c):this[o[0]]=o[1]:3==o.length?typeof o[1]!==u||o[1].exec&&o[1].test?this[o[0]]=c?c.replace(o[1],o[2]):a:this[o[0]]=c?o[1].call(this,c,o[2]):a:4==o.length&&(this[o[0]]=c?o[3].call(this,c.replace(o[1],o[2])):a):this[o]=c?c:a;l+=2}},str:function(e,t){for(var n in t)if(typeof t[n]===d&&t[n].length>0){for(var i=0;iNumber(n[a]))return 1}}return 0}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(175)),e.registerAudienceMatcher("campaign",n(176))}}),(function(e,t,n){var i=n(119);e.exports={provides:"campaign",shouldTrack:!0,isSticky:!0,getter:[function(){return i.getQueryParamValue("utm_campaign")}]}}),(function(e,t,n){var i=n(20);e.exports={fieldsNeeded:["campaign"],match:function(e,t){return i.hasMatch(t.value,t.match,e.campaign)}}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(178));var t=n(179);e.registerAudienceMatcher("custom_attribute",t),e.registerAudienceMatcher("custom_dimension",t)}}),(function(e,t,n){var i=n(2),r=n(25),a=n(23),o=n(16),s=o.get("stores/dimension_data");e.exports={provides:"custom",attributionType:r.AttributionTypes.LAST_TOUCH,restorer:function(e){return i.reduce(e,(function(e,t,n){var r=n,o=s.getByApiName(n),c=s.getById(n),u=c;return i.isObject(t)?(!t.id&&o&&(u=o,r=o.id,i.extend(t,{id:u.segmentId||u.id})),t.name||u&&u.apiName&&(t.name=u.apiName),t.id||u||a.warn("Unable to determine ID for custom attribute:",n,"; segmentation is disabled."),e[r]=t,e):(a.error('Unable to restore custom attribute "'+n+'" because value is not an object'),e)}),{})},shouldTrack:!0}}),(function(e,t,n){var i=n(2),r=n(20);t.match=function(e,t){var n;return e.custom&&(n=e.custom[t.name]),i.isObject(n)&&(n=n.value),r.hasMatch(t.value,t.match,n)}}),(function(e,t,n){e.exports=function(e){e.registerDependency("sources/device",n(181)),e.registerVisitorProfileProvider(n(182)),e.registerAudienceMatcher("device",n(183))}}),(function(e,t,n){var i=n(166);t.getDevice=function(){var e=i.get().device;return"unknown"!==e.model?e.model:"tablet"===e.type?"tablet":e.isMobile?"mobile":"desktop"}}),(function(e,t){e.exports={provides:"device",shouldTrack:!0,isSticky:!0,getter:["sources/device",function(e){return e.getDevice()}]}}),(function(e,t){e.exports={fieldsNeeded:["device"],match:function(e,t){return e.device===t.value}}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(185)),e.registerAudienceMatcher("device_type",n(186))}}),(function(e,t,n){var i=n(166);e.exports={provides:"device_type",shouldTrack:!0,isSticky:!0,getter:[function(){var e=i.get().device;switch(e.type){case"mobile":return"phone";case"tablet":case"desktop_laptop":return e.type;default:return"other"}}]}}),(function(e,t){e.exports={fieldsNeeded:["device_type"],match:function(e,t){return e.device_type===t.value}}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(188)),e.registerAudienceMatcher("ip",n(190))}}),(function(e,t,n){var i=n(189);e.exports={isAsync:!0,provides:"IP",getter:[function(){return i.getIP()}]}}),(function(e,t,n){function i(){a.addScriptAsync(s)}var r=n(6),a=n(132),o="cdn3";t.getIP=function(){return r.makeAsyncRequest(o,i).then((function(e){return e.ip}))},t.getIPDerivedGeolocation=function(){return r.makeAsyncRequest(o,i).then((function(e){return e.location}))};var s="//cdn3.optimizely.com/js/geo2.js"}),(function(e,t,n){var i=n(191).CIDR;e.exports={fieldsNeeded:["IP"],match:function(e,t){if(!e.hasOwnProperty("IP"))return!1;var n=e.IP,r=t["value"],a=t["match"];switch(a){case"prefix":if(0===n.indexOf(r))return!0;break;case"regex":try{var o=new RegExp(r)}catch(e){return!1}if(o.test(n))return!0;break;case"cidr":try{var s=new i(r);return s.containsIP(n)}catch(e){return!1}break;default:if(n===r&&""!==n)return!0}return!1}}}),(function(e,t,n){var i=t.CIDR=function(e){this.cidrString=e.trim();var t=a(this.cidrString);if(null===t)throw new Error("Invalid CIDR specification");this.maskedAddress=t.maskedAddress,this.mask=t.mask},r=4;i.prototype.containsIP=function(e){var t=o(e);if(null===t)throw new Error("Invalid ip: "+e);for(var n=0;n32)return null;var i=o(t[0]);if(null===i)return null;for(var a=u(n),s=0;s3)return null;var t=parseInt(e,10);return isNaN(t)?null:e!==t.toString()?null:t<0||t>255?null:t},c=[0,128,192,224,240,248,252,254,255],u=function(e){if(e<0||e>32)return null;for(var t=[],n=0;n1?i(n.version,s[0])>=0&&i(n.version,s[1])<=0:0===i(n.version,s[0])))}}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(200)),e.registerAudienceMatcher("referrer",n(201))}}),(function(e,t,n){var i=n(80),r=n(99);e.exports={provides:"referrer",shouldTrack:!0,isSticky:!0,getter:[function(){var e=r.getReferrer()||i.getReferrer();return""===e&&(e=null),e}]}}),(function(e,t,n){var i=n(202);t.fieldsNeeded=["referrer"],t.match=function(e,t){return null!==e.referrer&&i(e.referrer,t)}}),(function(e,t,n){function i(e){var t=e.indexOf("?");return t!==-1&&(e=e.substring(0,t)),t=e.indexOf("#"),t!==-1&&(e=e.substring(0,t)),e}function r(e){return a(i(e))}function a(e,t){e=e.replace("/?","?"),e=e.toLowerCase().replace(/[\/&?]+$/,"");var n=l.slice(0);t||(n=n.concat(c));for(var i=n.length,r=0;r0&&(t[1]="?"+o.join("&")),r&&(t[1]+="#"+r),t.join("")}return e}var s=n(2);e.exports=function(e,t){e=o(e);var n=t.value;switch(t.match){case"exact":return e=a(e),e===a(n);case"regex":try{return Boolean(e.match(n))}catch(e){}return!1;case"simple":return e=r(e),n=r(n),e===n;case"substring":return e=a(e,!0),n=a(n,!0),e.indexOf(n)!==-1;default:return!1}};var c=["www."],u="optimizely_",l=["https?://.*?.?optimizelyedit.(com|test)/","https?://.*.?optimizelypreview.(com|test)/","https?://(edit|preview)(-hrd|-devel)?.optimizely.(com|test)/","https?://.*?.?optimizelyedit(-hrd)?.appspot.com/","https?://"]}),(function(e,t,n){e.exports=function(e){e.registerVisitorProfileProvider(n(204)),e.registerAudienceMatcher("source_type",n(206))}}),(function(e,t,n){var i=n(119),r=n(80),a=n(99),o=n(205),s=["google\\.\\w{2,3}(\\.\\w{2,3})?/(search|url)","https://(www)?\\.google\\..*?/$","bing\\.\\w{2,3}(\\.\\w{2,3})?/(search|url)","yahoo\\.\\w{2,3}(\\.\\w{2,3})?/search","baidu\\.\\w{2,3}(\\.\\w{2,3})?/s?"];e.exports={provides:"source_type",shouldTrack:!0,isSticky:!1,getter:[function(){return function(e,t){var n=function(){if(i.getQueryParamValue("utm_source")||i.getQueryParamValue("gclid")||i.getQueryParamValue("otm_source"))return"campaign";for(var e=a.getReferrer()||r.getReferrer(),t=0;t=s&&u<=c&&a.includes(o.days,l)}}),(function(e,t,n){function i(e){function t(e,t,n){try{c(t),e[n]=t}catch(e){N.emitError(new X("Bad value for eventTags["+n+"]: "+e.message))}return e}var n=C.keys(ne),i=C.omit(e,n),r=C.pick(e,n),a=C.reduce(i,t,{}),o=C.reduce(r,(function(e,n,i){var r=ne[i];r.excludeFeature||t(a,n,i);try{r.validate(n),e[i]=r.sanitize(n),a[i]=e[i]}catch(e){N.emitError(new X("Bad value for eventMetrics["+i+"]: "+e.message))}return e}),{});return o.tags=a,o}function r(e){var t=C.extend({entity_id:e.pageId,key:e.pageApiName,timestamp:e.timestamp,uuid:e.eventId,type:J},i(e.eventTags));return t}function a(e){return C.extend({entity_id:e.eventEntityId,key:e.eventApiName,timestamp:e.timestamp,uuid:e.eventId,type:e.eventCategory},i(e.eventTags))}function o(e){return C.extend({entity_id:e.eventEntityId,key:e.eventApiName,timestamp:e.timestamp,uuid:e.eventId,type:e.eventCategory},i(e.eventTags))}function s(e){return{entity_id:null,type:Q,uuid:e.eventId,timestamp:e.timestamp}}function c(e){if(null==e)throw new Error("Feature value is null");if("object"==typeof e){var t;try{t=x.stringify(e)}catch(e){}throw new Error('Feature value is complex: "'+t||'[object]"')}}function u(e){if(null==e)throw new Error("Metric value is null");if(!C.isNumber(e))throw new Error("Metric value is not numeric")}function l(e){return C.reduce(e,(function(e,t){try{c(t.value),e.push({entity_id:t.id||null,key:t.name,type:t.type,value:t.value})}catch(e){F.warn("Error evaluating user feature",t,e)}return e}),[])}function d(e,t,n){K.dispatch(V.REGISTER_TRACKER_EVENT,{event:e,decisions:n}),f(t),b()}function f(e){var t=l(e);K.dispatch(V.UPDATE_TRACKER_VISITOR_ATTRIBUTES,{attributes:t})}function p(e){var t=l(e.userFeatures),n={account_id:e.accountId,anonymize_ip:e.anonymizeIP,client_name:e.clientName,client_version:e.clientVersion,project_id:e.projectId,visitors:[{session_id:h(e.sessionId),visitor_id:e.visitorId,attributes:t,snapshots:[{decisions:[{campaign_id:e.layerId,experiment_id:e.experimentId,variation_id:e.variationId,is_campaign_holdback:e.isLayerHoldback}],events:[{uuid:e.decisionId,entity_id:e.layerId,timestamp:e.timestamp,type:$}]}]}]};K.dispatch(V.REGISTER_PREVIOUS_BATCH,n),b()}function g(e){var t=C.isNull(q.getAnonymizeIP())?void 0:q.getAnonymizeIP(),n={account_id:e.accountId,anonymize_ip:t,client_name:e.clientName,client_version:e.clientVersion,project_id:e.projectId,visitors:[]};n.revision=e.revision,Z&&(n.enrich_decisions=!0);var i={session_id:h(e.sessionId),visitor_id:e.visitorId,attributes:[],snapshots:[]},r=D(e.layerStates);K.dispatch(V.REGISTER_TRACKER_VISITOR,{data:n,visitor:i,decisions:r}),b()}function h(e){return oe?ae:e}function _(e){var t={entity_id:e.layerId,type:$,uuid:e.decisionId,timestamp:e.timestamp};K.dispatch(V.REGISTER_TRACKER_DECISION,{decisionEvent:t,decisions:D(e.layerStates)}),f(e.userFeatures),b()}function v(){if(!W.canSend())return void F.debug("Not sending events (holding)");var e=W.hasEventsToSend(),t=W.hasPreviousBatchesToSend();return e||t?(t&&(C.each(W.getPreviousBatches(),m),K.dispatch(V.RESET_TRACKER_PREVIOUS_BATCHES)),void(e&&(K.dispatch(V.FINALIZE_BATCH_SNAPSHOT),m(W.getEventBatch()),K.dispatch(V.RESET_TRACKER_EVENTS)))):void F.debug("Not sending events because there are no events to send")}function m(e){F.debug("Sending ticket:",e);var t=P.generate();B.retryableRequest({url:L,method:"POST",data:E(e)},t)}function E(e){var t=C.extend({},C.pick(e,["account_id","anonymize_ip","client_name","client_version","enrich_decisions","project_id","revision"]),{visitors:C.map(e.visitors,I)});return t}function I(e){return{visitor_id:e.visitor_id,session_id:ae,attributes:C.map(e.attributes,y),snapshots:C.map(e.snapshots,S)}}function y(e){return w(e,{entity_id:"e",key:"k",type:"t",value:"v"})}function S(e){var t=e.events;return t=T(t),{activationTimestamp:q.getActivationTimestamp(),decisions:C.map(e.decisions,A),events:C.map(t,R)}}function T(e){var t=C.reduce(e,(function(e,t){var n,i=t.type===J&&C.isEmpty(t.tags)&&C.isEmpty(C.pick(t,C.keys(ne)));if(n=i?t.type:t.uuid,e[n]){var r=e[n].timestamp;t.timestamp>r&&(r=t.timestamp),e[n]=C.extend({},e[n],{key:e[n].key+"-"+(t.key||""),entity_id:e[n].entity_id+"-"+t.entity_id,timestamp:r})}else e[n]=t;return e}),{});return C.values(t)}function A(e){return w(e,{campaign_id:"c",experiment_id:"x",is_campaign_holdback:"h",variation_id:"v"})}function R(e){return e.key===$&&(e.type=$,delete e.key),w(e,{entity_id:"e",key:"k",quantity:"q",revenue:"$",tags:"a",timestamp:"t",uuid:"u",value:"v",type:"y"})}function w(e,t){return C.reduce(e,(function(e,n,i){return i in t&&(e[t[i]||i]=n),e}),{})}function b(){function e(){var t=!ie||j.isLoaded();t&&v(),W.isPolling()&&G.setTimeout(e,te)}return W.shouldBatch()?void(W.isPolling()||(G.setTimeout(e,te),K.dispatch(V.SET_TRACKER_POLLING,!0),G.setTimeout((function(){K.dispatch(V.SET_TRACKER_BATCHING,!1),K.dispatch(V.SET_TRACKER_POLLING,!1)}),ee))):void v()}function D(e){return C.map(e,(function(e){return{campaign_id:e.layerId,experiment_id:e.decision.experimentId,variation_id:e.decision.variationId,is_campaign_holdback:e.decision.isLayerHoldback}}))}function O(){var e=W.getPersistableState();if(e)try{F.debug("Persisting pending batch:",e),U.persistTrackerOptimizelyData(e),K.dispatch(V.SET_TRACKER_DIRTY,!1)}catch(e){F.debug("Failed to persist pending batch:",e)}}var C=n(2),N=n(86),P=n(5),L="https://logx.optimizely.com/v1/events",V=n(7),k=n(76).create,x=n(26),F=n(23),M=n(115),U=n(74),G=n(40),B=n(91),z=n(16),j=n(80),H=n(87),Y=n(111),K=n(9),q=z.get("stores/global"),W=z.get("stores/tracker_optimizely"),X=t.Error=k("OptimizelyTrackerError"),Q="client_activation",$="campaign_activated",J="view_activated",Z=!1,ee=1e4,te=1e3,ne={revenue:{validate:u,sanitize:Math.floor,excludeFeature:!0},quantity:{validate:u,sanitize:Math.floor,excludeFeature:!0},value:{validate:u,sanitize:C.identity}},ie=!1,re=!1,ae="AUTO",oe=!0,se=function(e){e.timing===M.TrackLayerDecisionTimingFlags.postRedirectPolicy?p(e):_(e)},ce=[function(){return function(e){d(r(e),e.userFeatures,D(e.layerStates))}}],ue=[function(){return function(e){g(e),d(s(e),e.userFeatures,D(e.layerStates))}}],le=[function(){return function(e){d(o(e),e.userFeatures,D(e.layerStates))}}],de=[function(){return function(e){d(a(e),e.userFeatures,D(e.layerStates))}}],fe={trackLayerDecision:se,postRedirectPolicy:M.PostRedirectPolicies.TRACK_AFTER_SYNC,nonRedirectPolicy:M.NonRedirectPolicies.TRACK_IMMEDIATELY,onPageActivated:ce,onClientActivation:ue,onClickEvent:de,onCustomEvent:le};e.exports=function(e){e.registerAnalyticsTracker("optimizely",fe),H.on({filter:{type:Y.TYPES.ANALYTICS,name:"sendEvents"},handler:function(){K.dispatch(V.SET_TRACKER_SEND_EVENTS,!0),W.isPolling()||v()}}),H.on({filter:{type:Y.TYPES.ANALYTICS,name:"holdEvents"},handler:function(){K.dispatch(V.SET_TRACKER_SEND_EVENTS,!1)}}),K.dispatch(V.SET_TRACKER_SEND_EVENTS,!re);var t=H.on({filter:{type:"lifecycle",name:"activated"},handler:function(){W.observe(O),H.off(t)}})}}),(function(e,t,n){e.exports=function(e){e.registerViewProvider(n(214)),e.registerViewMatcher("url",n(215))}}),(function(e,t,n){var i=n(119);e.exports={provides:"url",getter:[function(){return i.getUrl()}]}}),(function(e,t,n){var i=n(202);e.exports={fieldsNeeded:["url"],match:function(e,t){return i(e.url,t)}}}),(function(e,t,n){var i=n(144),r="custom_code",a={match:function(e,t){return i.apply(t.value)}};e.exports=function(e){e.registerViewMatcher(r,a)}}),(function(e,t,n){function i(){r(),a(),h.addEventListener("popstate",m,!1),h.addEventListener("hashchange",E,!1),d.on({filter:{type:"viewTrigger",name:"URLChanged"},handler:function(){g.getViewsAndActivate(l.ViewActivationTypes.URLChanged)}})}function r(){function e(){var e=p.getOriginalPushState().apply(this,arguments);return _.resolve().then((function(){o("pushState")})),e}f.dispatch(c.ENSURE_ORIGINAL_PUSHSTATE),h.getGlobal("history").pushState=e}function a(){function e(){var e=p.getOriginalReplaceState().apply(this,arguments);return _.resolve().then((function(){o("replaceState")})),e}f.dispatch(c.ENSURE_ORIGINAL_REPLACESTATE),h.getGlobal("history").replaceState=e}function o(e){d.emit({type:"viewTrigger",name:"URLChanged",data:{source:e,newURL:h.getHref()}},!0)}var s=n(2),c=n(7),u=n(16),l=n(25),d=n(87),f=n(9),p=u.get("stores/history"),g=n(123),h=n(40),_=n(12).Promise,v="URLChanged";e.exports=function(e){i(),e.registerViewTrigger(v)};var m=s.partial(o,"popstate"),E=s.partial(o,"hashchange")}),(function(e,t,n){var i=n(125).enums.locatorType;e.exports=function(e){e.registerViewTagLocator(i.JAVASCRIPT,n(219))}}),(function(e,t,n){var i=n(220),r=n(144);e.exports=function(e,t){var n=e.locator;if("function"==typeof n){var a=r.apply(n,t);return i(e.valueType,a)}return null}}),(function(e,t,n){var i=n(2),r=n(125).enums,a=n(125).Error;e.exports=function(e,t){if(i.isUndefined(t)||i.isNull(t))return t;var n=t;switch(e){case r.valueType.STRING:i.isString(t)||(n=String(t));break;case r.valueType.NUMBER:if(n=Number(t),isNaN(n))throw new a(t+" is not a number");break;case r.valueType.CURRENCY:if(n=Number(t),isNaN(n)||Math.floor(n)!==n)throw new a(t+" cannot be parsed as currency (must be an integer)");break;default:throw new a("Unknown ViewTag type: "+e)}return n}}),(function(e,t,n){function i(e){return"apiName: "+e.apiName+", selector: "+e.eventFilter.selector}var r=n(110),a=n(222),o=n(23),s=n(123);e.exports=function(e){var t=new a(function(e){s.updateAllViewTags();var t=r.trackClickEvent(e);t?o.log("Tracking click event:",e):o.log("Not tracking click event:",e)});e.registerEventImplementation("click",{attach:function(e){t.hasEvents()||t.listen(),t.addEvent(e),o.debug("Started listening for click event ("+i(e)+"):",e)},detach:function(e){t.removeEvent(e),t.hasEvents()||t.unlisten(),o.debug("Stopped listening for click event ("+i(e)+"):",e)}})}}),(function(e,t,n){function i(e){this.handler=e,this.events=[],this.unlistenFn=null,this.clickHandler=a.bind((function(e){a.forEach(this.events,a.bind((function(t){try{var n=t.config&&t.config.selector?t.config.selector:t.eventFilter.selector;r(e,n,t)&&this.handler(t)}catch(e){o.emitError(new l("Unable to handle click for selector"+n+":"+e.message))}}),this))}),this)}function r(e,t,n){for(var i=e.target,r=0;i;){var s;try{s=u(i,t)}catch(s){var c={typeofElementValue:typeof i,nodeName:a.result(i,["nodeName"],null),nodeType:a.result(i,["nodeType"],null),targetName:a.result(e,["target","nodeName"],null),targetType:a.result(e,["target","nodeType"],null),numParentsTraversed:r,selector:t,errorMessage:s.message,eventId:n.id};return o.emitError(new l("Unable to evaluate match for element"),c),!1}if(s)return!0;i=i.parentElement,r++}return!1}var a=n(2),o=n(86),s=n(76).create,c=n(80),u=n(223),l=t.Error=s("ClickDelegateError");i.prototype.listen=function(){this.unlistenFn=c.addEventListener("click",this.clickHandler,!0)},i.prototype.unlisten=function(){this.unlistenFn&&(this.unlistenFn(),this.unlistenFn=null)},i.prototype.hasEvents=function(){return this.events.length>0},i.prototype.addEvent=function(e){this.events.push(e)},i.prototype.removeEvent=function(e){this.events=a.filter(this.events,(function(t){return t.apiName!==e.apiName}))},e.exports=i}),(function(e,t,n){e.exports=n(224)}),(function(e,t){"use strict";function n(e,t){if(r)return r.call(e,t);for(var n=e.parentNode.querySelectorAll(t),i=0;i1)throw new Error("No "+n+" id specified when there are more than one available.");i=e[0]}return i},i=e.getRecommenderServices(),r=n(i,t&&t.recommenderServiceId,"recommender service");r.idTagName||(r.idTagName="id");var a=n(r.recommenders,t&&t.recommenderId,"recommender");return{recommenderService:r,recommender:a}}function c(e){var t=I.parse(e);return t.data}function u(e,t){return T.request({url:o(e,t)}).then((function(e){var t=c(e.response),n={};return R in t&&(n=I.parse(t[R])),n}))}function l(e,t,n,i){var s=!(!i||!i.fetchWithMetadata),u=i&&i.overrideServingUrl||t.servingUrl;return T.request({url:o(u,n)}).then((function(t){var n=[],o=c(t.response);return n=a(o,e.serviceVersion),s&&r(e.serviceVersion)?d(e,E.map(n,e.idTagName),i).then((function(e){return e=E.map(e,(function(e){return e instanceof Error&&(e={}),delete e["__proto__"],e})),E.merge(n,e)})):n}))}function d(e,t,n){var i=n&&n.overrideCatalogUrl||e.catalogUrl;return E.isString(t)?u(i,t):S.all(E.map(t,(function(e){return u(i,e)["catch"]((function(t){return y.warn("recommender / Failed to get recommendations for item:",e,t),t}))})))}function f(e,t,n){var i=s(e,n),r=i.recommenderService,a=i.recommender;return l(r,a,t,{overrideServingUrl:n&&n.overrideServingUrl,overrideCatalogUrl:n&&n.overrideCatalogUrl,fetchWithMetadata:!0})}function p(e,t,n){var i=s(e,n),a=i.recommenderService,o=i.recommender;if(!r(a.serviceVersion))throw new Error("Recommender service "+a.id+" serves self-contained recos. Use `fetchRecommendations` API call");return l(a,o,t,{overrideServingUrl:n&&n.overrideServingUrl,fetchWithMetadata:!1})}function g(e,t,n){var i=s(e,n),a=i.recommenderService;if(!r(a.serviceVersion))throw new Error("Recommender service "+a.id+" serves self-contained recos. Use `fetchRecommendations` API call");return E.isArray(t)&&t.length>D?S.reject("Cannot fetch more than "+D+" items"):d(a,t,n)}function h(e,t,n,i){return new _(e,t,n,i)}function _(e,t,n,i){this.recommenderSettings=t;var r=s(e,t);this.recommenderService=r.recommenderService,this.recommender=r.recommender,this.targetId=n,i&&(this.preFilter=i.preFilter,this.canonicalize=i.canonicalize,this.postFilter=i.postFilter),this._globalStore=e,this.reset()}function v(){var e={recosNoMeta:[],recosNoMetaOffset:0,recos:[],recosOffset:0};return y.debug("recommender / fetching recommended items for",this.targetId,"from recommender",this.recommender.id),r(this.recommenderService.serviceVersion)?p(this._globalStore,this.targetId,this.recommenderSettings).then(E.bind((function(t){return e.recosNoMeta=E.filter(t,this.preFilter),e}),this)):f(this._globalStore,this.targetId,this.recommenderSettings).then(E.bind((function(t){return e.recos=E(t).filter(this.preFilter).map(this.canonicalize).filter(this.postFilter).value(),e}),this))}function m(e){var t=e.numNeeded,n=e.buffer,i=n.recosNoMeta.length-n.recosNoMetaOffset;if(t<=0||i<=0)return S.resolve(e);var r=5,a=Math.max(t,r),o=E.slice(n.recosNoMeta,n.recosNoMetaOffset,n.recosNoMetaOffset+a),s=E.map(o,this.recommenderService.idTagName);n.recosNoMetaOffset+=s.length;var c=e.recosSoFar;return y.debug("recommender / fetching metadata for",s,"from recommender",this.recommender.id),g(this._globalStore,s,this.recommenderSettings).then(E.bind((function(i){i=E.map(i,(function(e){return e instanceof Error?{}:e})),n.recos=E(o).merge(i).map(this.canonicalize).filter(this.postFilter).value();var r=E.slice(n.recos,0,t);return n.recosOffset=r.length,e.recosSoFar=c.concat(r),e.numNeeded-=r.length,e.numNeeded>0?m.call(this,e):e}),this))}var E=n(2),I=n(26),y=n(23),S=n(12).Promise,T=n(91),A={SELF_CONTAINED_MULTI_COL:1,SEPARATE_CATALOG_SINGLE_COL:2},R="itemMetadata",w="recos",b="reco",D=20;_.prototype.reset=function(){this._bufferPromise=null},_.prototype.next=function(e){var t=Math.floor(E.isNumber(e)?e:1);if(t<=0)throw new Error("Invalid argument "+e+". Must be positive integer");this._bufferPromise||(this._bufferPromise=v.call(this));var n=this._bufferPromise.then(E.bind((function(e){var n=[],i=e.recos.length-e.recosOffset;return i>0&&(n=e.recos.slice(e.recosOffset,e.recosOffset+t),e.recosOffset+=n.length,t-=n.length),t<=0?{result:n,buffer:e}:m.call(this,{buffer:e,recosSoFar:n,numNeeded:t}).then((function(e){return{result:e.recosSoFar,buffer:e.buffer}}))}),this));return this._bufferPromise=n.then((function(e){return e.buffer})),n.then((function(e){return e.result}))},e.exports=["stores/global",function(e){return{fetchRecommendations:E.partial(f,e),fetchRecommendedItems:E.partial(p,e),fetchItemMetadata:E.partial(g,e),getRecommendationsFetcher:E.partial(h,e)}}]}),(function(e,t,n){function i(e,t){if(this.change=r.cloneDeep(e),this.change=I.transformVisibilityAttributesToCSS(this.change),this.identifier=t.identifier,this.startTime=t.startTime,this.disconnectObserverQueue=[],d.shouldObserveChangesIndefinitely()){g.dispatch(a.INITIALIZE_CHANGE_METRICS),this.rateMeter=new v(T.MOVING_WINDOW_MILLISECONDS);var n=r.isNull(T.MAX_MACROTASKS_IN_MOVING_WINDOW)?Number.POSITIVE_INFINITY:T.MAX_MACROTASKS_IN_MOVING_WINDOW;this.rateMeter.addListener(n,r.bind((function(){h.warn("AttributeChange",this,"has overheated and will no longer apply or reapply"),this.cancel(),g.dispatch(a.RECORD_CHANGE_OVERHEATED),o.emitError(new R("Change "+this.identifier+" has overheated"),{layerId:t.action&&t.action.layerId,experimentId:t.action&&t.action.experimentId,variationId:t.action&&t.action.variationId,changeId:e.id,changeType:e.type,movingWindowMilliseconds:T.MOVING_WINDOW_MILLISECONDS,maxMacroTasksInMovingWindow:n})}),this));for(var i=Math.min(n,50),s=0;s<=i;s++)this.rateMeter.addListener(s,r.partial((function(e){g.dispatch(a.RECORD_CHANGE_MACROTASK_RATE,{changeMacrotaskRate:e})}),s))}this.cancelled=!1}var r=n(2),a=(n(12).Promise,n(7)),o=n(86),s=n(137),c=n(76).create,u=n(228),l=n(229),d=n(16).get("stores/directive"),f=n(80),p=n(230),g=n(9),h=n(23),_=n(231),v=n(232),m=n(136),E=n(40),I=n(233),y=n(100).create(),S={attributes:!0,childList:!0,subtree:!0,characterData:!0},T={MOVING_WINDOW_MILLISECONDS:1e3,MAX_MACROTASKS_IN_MOVING_WINDOW:10},A=!0,R=c("ChangeOverheatError");i.prototype.apply=function(){this.applyDeferred=l();try{if(r.isEmpty(this.change.attributes)&&r.isEmpty(this.change.css))return h.debug("Not applying empty AttributeChange"),this.applyDeferred.resolve(),this.applyDeferred;var e=r.partial(this.applyDeferred.reject,new Error("Unable to find selector.")),t={};d.shouldObserveChangesUntilTimeout()?t={timeout:r.partial(m.isTimedOut,this.startTime),onTimeout:e}:d.isEditor()&&y.waitUntil(r.partial(m.isTimedOut,this.startTime)).then(e,e),this.unobserveSelector=y.observeSelector(this.change.selector,r.bind(this.maybeApplyToElement,this),t);var n=f.querySelectorAll(this.change.selector);r.each(n,r.bind(this.maybeApplyToElement,this))}catch(e){this.applyDeferred.reject(e)}return this.applyDeferred},i.prototype.maybeApplyToElement=function(e){var t=s.CHANGE_ID_ATTRIBUTE_PREFIX+this.change.id;if(e.hasAttribute(t))return h.debug("AttributeChange not being applied. Element already changed, or is a child of an element that was changed by this AttributeChange. "+e),void this.applyDeferred.resolve();this.rateMeter&&this.rateMeter.countCurrentTick();var n=r.bind(this.applyOrReapplyToElement,this,e,t);if(n(),A){var i=r.bind((function(){var t=r.bind((function(){this.cancelled||_.observe(a,e,S)}),this);E.setTimeout(t)}),this),a=_.create(r.bind((function(){this.rateMeter&&this.rateMeter.countCurrentTick(),a.disconnect(),n(),i()}),this));i(),this.disconnectObserverQueue.push(r.bind(a.disconnect,a))}this.applyDeferred.resolve()},i.prototype.applyOrReapplyToElement=function(e,t){var n={};r.forOwn(this.change.attributes,(function(i,a){switch(a){case p.selectorChangeType.CLASS:r.isUndefined(e.className)||(n[p.selectorChangeType.CLASS]=e.className,e.className=i);break;case p.selectorChangeType.HREF:r.isUndefined(e.href)||(n[p.selectorChangeType.HREF]=e.href,e.href=i);break;case p.selectorChangeType.HTML:r.isUndefined(e.innerHTML)||(n[p.selectorChangeType.HTML]=e.innerHTML,e.innerHTML=i,r.each(f.childrenOf(e),(function(e){e.setAttribute(t,"")})));break;case p.selectorChangeType.SRC:r.isUndefined(e.src)||(n[p.selectorChangeType.SRC]=e.src,e.src=i);break;case p.selectorChangeType.STYLE:break;case p.selectorChangeType.TEXT:r.isUndefined(e.textContent)||(n[p.selectorChangeType.TEXT]=e.textContent,e.textContent=i);break;default:throw new Error("Unrecognized attribute: "+a)}}));var i=I.createStylesFromChange(e.style.cssText,this.change);r.isString(i)&&(n[p.selectorChangeType.STYLE]=e.style.cssText,e.style.cssText=i),e.setAttribute(t,""),u.setData(e,this.change.id,this.identifier,n)},i.prototype.cancel=function(){this.cancelled=!0,this.unobserveSelector&&this.unobserveSelector(),r.each(this.disconnectObserverQueue,(function(e){try{e()}catch(e){}}))},i.prototype.undo=function(){var e=document.querySelectorAll("["+s.CHANGE_ID_ATTRIBUTE_PREFIX+this.change.id+"]");return r.each(e,r.bind((function(e){var t=u.getData(e,this.change.id,this.identifier);t&&r.forOwn(t,(function(t,n){switch(n){case p.selectorChangeType.CLASS:e.className=t;break;case p.selectorChangeType.HREF:e.href=t;break;case p.selectorChangeType.HTML:e.innerHTML=t;break;case p.selectorChangeType.SRC:e.src=t;break;case p.selectorChangeType.STYLE:e.style.cssText=t;break;case p.selectorChangeType.TEXT:e.textContent=t;break;case p.selectorChangeType.HIDE:e.style.visibility=t;break;case p.selectorChangeType.REMOVE:e.style.display=t;break;default:throw new Error("Unrecognized attribute: "+n)}})),e.removeAttribute(s.CHANGE_ID_ATTRIBUTE_PREFIX+this.change.id),u.removeData(e,this.change.id,this.identifier)}),this)),l().resolve(p.changeState.UNAPPLIED)},e.exports=function(e){e.registerChangeApplier(p.changeType.ATTRIBUTE,i)}}),(function(e,t,n){function i(e,t){return[e,t].join("_")}var r=n(2),a=n(137).CHANGE_DATA_KEY;t.getData=function(e,t,n){var r=i(t,n);return e[a]&&e[a][r]?e[a][r]:null},t.hasData=function(e){return Boolean(e&&e[a]&&!r.isEmpty(e[a]))},t.removeData=function(e,t,n){e[a]&&delete e[a][i(t,n)]},t.setData=function(e,t,n,r){if("object"!=typeof r)throw new Error("setData expects an object");e[a]||(e[a]={}),e[a][i(t,n)]=r}}),(function(e,t,n){var i=n(2),r=n(12).Promise,a=function(){var e,t,n=new r(function(n,i){e=n,t=i});return n.resolve=function(){return e.apply(null,i.toArray(arguments)),n},n.reject=function(){return t.apply(null,i.toArray(arguments)),n},n};e.exports=a}),(function(e,t,n){var i=n(8);e.exports={changeType:{CUSTOM_CODE:"custom_code",ATTRIBUTE:"attribute",APPEND:"append",REARRANGE:"rearrange",REDIRECT:"redirect",WIDGET:"widget"},DOMInsertionType:{AFTER:"after",APPEND:"append",BEFORE:"before",PREPEND:"prepend"},insertAdjacentHTMLType:{AFTER_BEGIN:"afterbegin",AFTER_END:"afterend",BEFORE_BEGIN:"beforebegin",BEFORE_END:"beforeend"},selectorChangeType:{CLASS:"class",HTML:"html",HREF:"href",SRC:"src",STYLE:"style",TEXT:"text",HIDE:"hide",REMOVE:"remove"},changeApplierState:i({APPLIED:null,APPLYING:null,UNAPPLIED:null,UNDOING:null}),changeState:i({BLOCKED:null,UNAPPLIED:null,APPLIED:null,APPLYING:null,UNDOING:null,TIMED_OUT:null,IGNORED:null,ERROR:null})}}),(function(e,t){t.create=function(e){return new MutationObserver(e)},t.observe=function(e,t,n){e.observe(t,n)}}),(function(e,t,n){function i(e){this.windowLength=e,this.count=0,this.listeners={},this.isIncrementingTick=!1}var r=n(2),a=n(23),o=n(40);i.prototype.countCurrentTick=function(){this.isIncrementingTick||(this.isIncrementingTick=!0,this.increment(),o.setTimeout(r.bind((function(){this.isIncrementingTick=!1}),this),0))},i.prototype.increment=function(){this.count+=1,r.forEach(this.listeners[String(this.count)],(function(e){e()})),o.setTimeout(r.bind(this.decrement,this),this.windowLength)},i.prototype.decrement=function(){this.count-=1,this.count<0&&(a.warn("Decremented down to negative count: ",this.count),this.count=0)},i.prototype.addListener=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},e.exports=i}),(function(e,t,n){var i=n(2),r=n(230);t.transformVisibilityAttributesToCSS=function(e){if(!e.attributes)return e;if(e.attributes[r.selectorChangeType.HIDE]||e.attributes[r.selectorChangeType.REMOVE]){var t=i.extend({css:{}},i.cloneDeep(e));return e.attributes[r.selectorChangeType.HIDE]&&(t.css.visibility="hidden",delete t.attributes[r.selectorChangeType.HIDE]),e.attributes[r.selectorChangeType.REMOVE]&&(t.css.display="none",delete t.attributes[r.selectorChangeType.REMOVE]),t}return e},t.createStylesFromChange=function(e,t){if(i.isEmpty(t.css))return t.attributes.style;var n="",r=t.attributes.style||"";return i.each(t.css,(function(e,t){var i=new RegExp(t+"\\s?:");i.test(r)||(n+=t+":"+e+";")})),i.isUndefined(t.attributes.style)?(e||"")+n:n+r}}),(function(e,t,n){function i(e,t){if(!r.isFunction(e.value))throw new Error("Custom code must be a function");this.change=e}var r=n(2),a=n(229),o=n(230),s=n(144);i.prototype.apply=function(){var e=a();try{s.apply(this.change.value),e.resolve()}catch(t){e.reject(t)}return e},i.prototype.undo=function(){return a().resolve(o.changeState.IGNORED)},e.exports=function(e){e.registerChangeApplier(o.changeType.CUSTOM_CODE,i)}}),(function(e,t,n){function i(e,t){this.change=r.extend({},e),this.identifier=t.identifier}var r=n(2),a=n(229),o=n(230),s=n(106),c="showWidget",u="hideWidget";i.prototype.apply=function(){return s.emit({type:c,name:this.change.widget_id,data:this.change}),a().resolve(o.changeState.APPLIED)},i.prototype.undo=function(){return s.emit({type:u,name:this.change.widget_id,data:this.change}),a().resolve(o.changeState.UNAPPLIED)},e.exports=function(e){e.registerChangeApplier(o.changeType.WIDGET,i)}}),(function(e,t,n){function i(e,t,n,i){var l,d=e.decisionMetadata.experimentPriorities[i],f=function(n,i){var r=c.getExperimentById(e,i.entityId);return c.isValidExperiment(t,r)&&n.push(i.entityId),n},p=o.reduce(d,f,[]);if(!o.isEmpty(p)){var g,h=o.filter(d,{endOfRange:null});if(h&&h.length===d.length)g=r(p);else{if(0!==h.length)throw new u("You must specify weights for all or none of the experiments in each priority layer.");g=a(p,d)}if(l=s.chooseWeightedCandidate(n,e.id,g)){var _=c.getExperimentById(e,l);if(_)return _}}}function r(e){for(var t=[],n=Math.round(1e4/e.length),i=0;i=0&&(s=0===a?t[0].endOfRange:t[a].endOfRange-t[a-1].endOfRange,r+=s,i.push({ entityId:t[a].entityId,points:s}))}if(o.isEmpty(n))for(var c=0,u=0;u

How Chinese doctor Li Wenliang died twice in China's state media

Hong Kong (CNN)The Chinese media's reporting of the death of coronavirus whistleblower doctor Li Wenliang caused confusion and anger Thursday night, as Li was first pronounced dead, then alive and, finally, dead again.

The conflicting reports over his condition only exacerbated public grief among Chinese netizens who largely considered Li, 34, to be a hero for his early attempt to raise awareness of the coronavirus. Li's actions caused him to be targeted by the local police, who tried to silence him.
Here is how the reporting of Li's death played out over Thursday and Friday, local time:
At around 10 p.m. Thursday -- News begins to circulate on Chinese social media that Li Wenliang has died of the Wuhan coronavirus.
    The rumors provoke a huge outpouring of grief and anger among Chinese netizens, many of whom already saw Li as a tragic figure after he contracted the virus he had tried to warn others about.
    10.40 p.m. Thursday -- Chinese state-run tabloid Global Times announces on its Twitter account that Li has died. Shortly afterward, the Communist Party's official newspaper People's Daily confirms that Li is dead, saying his death has sparked "national grief."
    The two announcements published by Chinese state media about the death of Li Wenliang, which were later deleted.
    At around 11.30 p.m. -- The World Health Organization (WHO) says on its official Twitter that it is "deeply saddened" by the death of Li, but later deletes the tweet.
    In a clarifying statement later, the WHO says it has no information on Li's status and had just been responding to a question at a press conference.
    12.38 a.m. Friday -- Wuhan Central Hospital releases a statement saying Li hasn't died, but is in a critical condition and doctors are attempting to resuscitate him. At some point around this time, the Global Times and People's Daily reports on Li's death are deleted.
    12.57 a.m. Friday -- Global Times says on its official Twitter that Li is "still under emergency treatment." "Reporters heard people weeping inside the ICU," the tweet says.
    The state-run tabloid says that Li's heart stopped beating at around 9.30 p.m. Thursday local time.
    At about 2 a.m. Friday -- The tide of emotion continues to grow on Chinese social media. The phrase "We want freedom of speech" begins to trend on Weibo, a Twitter-like website, before it is censored from the platform. Weibo users soon create another hashtag -- "I want freedom of speech" -- which quickly draws nearly 2 million views.
    3.48 a.m. Friday -- Wuhan Central Hospital announces on Weibo that Li has died at 2.58 a.m. despite attempts to resuscitate him. "We express our deep regret and condolences," the post says.
    At around 4 a.m. Friday -- The Global Times and then People's Daily announce on their Twitter accounts that Li is dead. The former references Li's role as a whistleblower who tried to raise awareness of the coronavirus back in December.
      Early Friday morning -- The top comments under the Wuhan hospital's announcement of Li's death show anger at the handling of the news.
      One reads post reads: "You think we've all gone to sleep? No. We haven't."